On Thu, 16 Jan 2020 15:06:10 +0100, Kai Vehmanen wrote: > > The initial snd_hda_get_sub_node() can fail on certain > devices (e.g. some Chromebook models using Intel GLK). > The failure rate is very low, but as this is is part of > the probe process, end-user impact is high. > > In observed cases, related hardware status registers have > expected values, but the node query still fails. Retrying > the node query does seem to help, so fix the problem by > adding retry logic to the query. This does not impact > non-Intel platforms. > > BugLink: https://github.com/thesofproject/linux/issues/1642 > Signed-off-by: Kai Vehmanen <kai.vehmanen@xxxxxxxxxxxxxxx> Looks like a less ugly workaround. I can take this, but maybe better together with other two, so Mark, feel free to take through your tree. Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> thanks, Takashi > --- > sound/pci/hda/patch_hdmi.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c > index ce3c212ee467..48bddc218829 100644 > --- a/sound/pci/hda/patch_hdmi.c > +++ b/sound/pci/hda/patch_hdmi.c > @@ -2833,9 +2833,12 @@ static int alloc_intel_hdmi(struct hda_codec *codec) > /* parse and post-process for Intel codecs */ > static int parse_intel_hdmi(struct hda_codec *codec) > { > - int err; > + int err, retries = 3; > + > + do { > + err = hdmi_parse_codec(codec); > + } while (err < 0 && retries--); > > - err = hdmi_parse_codec(codec); > if (err < 0) { > generic_spec_free(codec); > return err; > -- > 2.17.1 > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel