On Tue, 14 Nov 2023 12:06:45 +0100, Ville Syrjälä wrote:
On Mon, Oct 02, 2023 at 09:38:44PM +0200, maarten.lankhorst@linux.intel.com wrote:
From: Maarten Lankhorst maarten.lankhorst@linux.intel.com
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.
It's hard to judge without any log nor h/w details (as a typical bug report from a developer :)
As a blind shot, does the patch below fix your case?
thanks,
Takashi
-- 8< -- --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -2141,6 +2141,9 @@ static int azx_probe(struct pci_dev *pci, if (chip->driver_caps & AZX_DCAPS_I915_COMPONENT) { err = snd_hdac_i915_init(azx_bus(chip)); if (err < 0) { + if (err == -EPROBE_DEFER) + goto out_free; + /* if the controller is bound only with HDMI/DP * (for HSW and BDW), we need to abort the probe; * for other chips, still continue probing as other