On Tue, 14 Nov 2023 15:39:16 +0100, Maarten Lankhorst wrote: > > > Hey, > > Den 2023-11-14 kl. 14:39, skrev Ville Syrjälä: > > On Tue, Nov 14, 2023 at 02:35:10PM +0200, Jani Nikula wrote: > > On Tue, 14 Nov 2023, Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> wrote: > > On Mon, Oct 02, 2023 at 09:38:44PM +0200, maarten.lankhorst@xxxxxxxxxxxxxxx wrote: > > From: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > > Now that we can use -EPROBE_DEFER, it's no longer required to spin off > the snd_hdac_i915_init into a workqueue. > > Use the -EPROBE_DEFER mechanism instead, which must be returned in the > probe function. > > This completely broke i915 audio! > > I also can't see any trace of this stuff ever being posted to > intel-gfx so it never went through the CI. > > Please fix or revert ASAP. > > Cc: Jani, Suresh > > Ville, please file a bug at gitlab so we can track this, thanks. > > https://gitlab.freedesktop.org/drm/intel/-/issues/9671 > > Looks like a simple patch should be enough, can you test below? Seems that we reached to the same conclusion :) I took a quick look at other code paths, and sound/pci/hda/hda_intel.c is the only place that needs the correction. Other (ASoC) drivers are either simply always returning the error or dealing only with -ENODEV case for skipping the HDMI codec. thanks, Takashi > > ---- > > diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c > index 058f6e6491f9a..946aaa487f200 100644 > --- a/sound/pci/hda/hda_intel.c > +++ b/sound/pci/hda/hda_intel.c > @@ -2145,7 +2145,8 @@ static int azx_probe(struct pci_dev *pci, > * for other chips, still continue probing as other > * codecs can be on the same link. > */ > - if (HDA_CONTROLLER_IN_GPU(pci)) { > + if (HDA_CONTROLLER_IN_GPU(pci) || > + err == -EPROBE_DEFER) { > goto out_free; > } else { > /* don't bother any longer */ >