On Wed, Nov 15, 2023 at 01:36:25PM +0100, Maarten Lankhorst wrote:
It turns out that even if the comment says that the driver can load fine, it's not really the case and no codecs are detected. Specifically for -EPROBE_DEFER, always fail the probe.
This fixes a regression when HDA-intel is loaded before i915.
Reported-by: Ville Syrjälä ville.syrjala@linux.intel.com Signed-off-by: Maarten Lankhorst maarten.lankhorst@linux.intel.com Tested-by: Kai Vehmanen kai.vehmanen@linux.intel.com Fixes: e6d0c13e9f46 ("ALSA: hda: i915: Remove extra argument from snd_hdac_i915_init") Cc: Takashi Iwai tiwai@suse.de
Appears to work here as well. Thanks.
Using Takashi's version, as I like the separate -EPROBE_DEFER if more.
sound/pci/hda/hda_intel.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 058f6e6491f9..8e9a003daa8d 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -2140,6 +2140,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
-- 2.40.1