Message ID | 1457073186-73666-1-git-send-email-libin.yang@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, 04 Mar 2016 07:33:06 +0100, libin.yang@linux.intel.com wrote: > > From: Libin Yang <libin.yang@linux.intel.com> > > To make sure audio_ptr is set before intel_audio_codec_enable() > or intel_audio_codec_disable() calling pin_eld_notify(), > this patch adds wmb barrier to prevent optimizing. > > Signed-off-by: Libin Yang <libin.yang@linux.intel.com> Thanks, applied both patches to for-linus branch, as it's a 4.4 regression. The merge conflict was resolved in for-next branch. Takashi > --- > sound/pci/hda/patch_hdmi.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c > index aa2d6a2..b5190e0 100644 > --- a/sound/pci/hda/patch_hdmi.c > +++ b/sound/pci/hda/patch_hdmi.c > @@ -2939,6 +2939,11 @@ static int patch_generic_hdmi(struct hda_codec *codec) > if (codec_has_acomp(codec)) { > codec->depop_delay = 0; > spec->i915_audio_ops.audio_ptr = codec; > + /* intel_audio_codec_enable() or intel_audio_codec_disable() > + * will call pin_eld_notify with using audio_ptr pointer > + * We need make sure audio_ptr is really setup > + */ > + wmb(); > spec->i915_audio_ops.pin_eld_notify = intel_pin_eld_notify; > snd_hdac_i915_register_notifier(&spec->i915_audio_ops); > } > -- > 1.9.1 >
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c index aa2d6a2..b5190e0 100644 --- a/sound/pci/hda/patch_hdmi.c +++ b/sound/pci/hda/patch_hdmi.c @@ -2939,6 +2939,11 @@ static int patch_generic_hdmi(struct hda_codec *codec) if (codec_has_acomp(codec)) { codec->depop_delay = 0; spec->i915_audio_ops.audio_ptr = codec; + /* intel_audio_codec_enable() or intel_audio_codec_disable() + * will call pin_eld_notify with using audio_ptr pointer + * We need make sure audio_ptr is really setup + */ + wmb(); spec->i915_audio_ops.pin_eld_notify = intel_pin_eld_notify; snd_hdac_i915_register_notifier(&spec->i915_audio_ops); }