Hi Takashi, > -----Original Message----- > From: Takashi Iwai [mailto:tiwai@xxxxxxx] > Sent: Thursday, February 18, 2016 3:55 PM > To: Yang, Libin > Cc: libin.yang@xxxxxxxxxxxxxxx; alsa-devel@xxxxxxxxxxxxxxxx; Lin, > Mengdong > Subject: Re: [PATCH] ALSA: hda - hdmi get jack from hda_jack_tbl when > not dyn_pcm_assign > > On Thu, 18 Feb 2016 07:16:29 +0100, > Yang, Libin wrote: > > > > Hi Takashi, > > > > I submitted the patch which can fix a regression involved from my > > jack patch: > > commit 25e4abb33df3aafa7d1efba8f82f9178268efab1 > > Author: Libin Yang <libin.yang@xxxxxxxxxxxxxxx> > > Date: Tue Jan 12 11:13:27 2016 +0800 > > > > ALSA: hda - hdmi jack created based on pcm > > > > I'm sorry for the inconvenience. > > > > As the dyn pcm patches are merged into the for-next branch, I'm asking > > our QA to do the full test on it. They said they can start the stress test > > from next week. > > One concern is the report from CI test about the crash at unloading > the module. I couldn't reproduce it locally. Could you take a look? There is the same oops when unloading snd modules on my side (it happens occasionally). With the patch, the oops is fixed. But I didn't meet the crash. The system is still alive. I'm asking for their test case. As soon as I get the test case, I will do the test. Regards, Libin > > > Takashi > > > > > Regards, > > Libin > > > > > > > -----Original Message----- > > > From: libin.yang@xxxxxxxxxxxxxxx [mailto:libin.yang@xxxxxxxxxxxxxxx] > > > Sent: Thursday, February 18, 2016 1:25 PM > > > To: alsa-devel@xxxxxxxxxxxxxxxx; tiwai@xxxxxxx > > > Cc: Lin, Mengdong; Yang, Libin; Libin Yang > > > Subject: [PATCH] ALSA: hda - hdmi get jack from hda_jack_tbl when > not > > > dyn_pcm_assign > > > > > > From: Libin Yang <libin.yang@xxxxxxxxxxxxxxx> > > > > > > On Intel platform, if !dyn_pcm_assign, spec->pcm_rec[].jack is not > > > NULL even after snd_hda_jack_tbl_clear() is called to free snd_jack. > > > This may cause access invalid memory when calling snd_jack_report. > > > > > > Please see more detail from: > > > https://bugs.freedesktop.org/show_bug.cgi?id=94079 > > > > > > Signed-off-by: Libin Yang <libin.yang@xxxxxxxxxxxxxxx> > > > --- > > > sound/pci/hda/patch_hdmi.c | 16 ++++++++++++++-- > > > 1 file changed, 14 insertions(+), 2 deletions(-) > > > > > > diff --git a/sound/pci/hda/patch_hdmi.c > b/sound/pci/hda/patch_hdmi.c > > > index f4443b5..3b47101 100644 > > > --- a/sound/pci/hda/patch_hdmi.c > > > +++ b/sound/pci/hda/patch_hdmi.c > > > @@ -1962,6 +1962,7 @@ static void sync_eld_via_acomp(struct > > > hda_codec *codec, > > > { > > > struct hdmi_spec *spec = codec->spec; > > > struct hdmi_eld *eld = &spec->temp_eld; > > > + struct hda_jack_tbl *jack_tbl; > > > struct snd_jack *jack = NULL; > > > int size; > > > > > > @@ -1989,10 +1990,21 @@ static void sync_eld_via_acomp(struct > > > hda_codec *codec, > > > /* pcm_idx >=0 before update_eld() means it is in monitor > > > * disconnected event. Jack must be fetched before update_eld() > > > */ > > > - if (per_pin->pcm_idx >= 0) > > > + /* if !dyn_pcm_assign, get jack from hda_jack_tbl > > > + * in !dyn_pcm_assign case, spec->pcm_rec[].jack is not > > > + * NULL even after snd_hda_jack_tbl_clear() is called to > > > + * free snd_jack. This may cause access invalid memory > > > + * when calling snd_jack_report > > > + */ > > > + if (per_pin->pcm_idx >= 0 && spec->dyn_pcm_assign) > > > jack = spec->pcm_rec[per_pin->pcm_idx].jack; > > > + else { > > > + jack_tbl = snd_hda_jack_tbl_get(codec, per_pin- > > > >pin_nid); > > > + if (jack_tbl) > > > + jack = jack_tbl->jack; > > > + } > > > update_eld(codec, per_pin, eld); > > > - if (jack == NULL && per_pin->pcm_idx >= 0) > > > + if (jack == NULL && per_pin->pcm_idx >= 0 && spec- > > > >dyn_pcm_assign) > > > jack = spec->pcm_rec[per_pin->pcm_idx].jack; > > > if (jack == NULL) > > > goto unlock; > > > -- > > > 1.9.1 > > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel