ALSA: hda: Allow non-Intel device probe gracefully
authorTakashi Iwai <tiwai@suse.de>
Mon, 28 Oct 2019 13:06:34 +0000 (14:06 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 28 Oct 2019 15:09:02 +0000 (16:09 +0100)
The recent addition of snd_intel_dsp_driver_probe() check caused a
spurious kernel warning when the driver is loaded for a non-Intel
hardware due to snd_BUG_ON().  Moreover, for such a hardware, we
should always return SND_INTEL_DSP_DRIVER_ANY, not check the
dsp_driver option at all.

This patch fixes these issues for non-Intel devices.

Fixes: 82d9d54a6c0e ("ALSA: hda: add Intel DSP configuration / probe code")
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20191028130634.3501-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/hda/intel-dsp-config.c

index 0b2a7201a46ae3189bf33547eba0b09277be45e2..be1df80ed01337f40654623cf2e2c78dd824fa24 100644 (file)
@@ -307,13 +307,13 @@ int snd_intel_dsp_driver_probe(struct pci_dev *pci)
 {
        const struct config_entry *cfg;
 
-       if (dsp_driver > 0 && dsp_driver <= SND_INTEL_DSP_DRIVER_LAST)
-               return dsp_driver;
-
        /* Intel vendor only */
-       if (snd_BUG_ON(pci->vendor != 0x8086))
+       if (pci->vendor != 0x8086)
                return SND_INTEL_DSP_DRIVER_ANY;
 
+       if (dsp_driver > 0 && dsp_driver <= SND_INTEL_DSP_DRIVER_LAST)
+               return dsp_driver;
+
        /*
         * detect DSP by checking class/subclass/prog-id information
         * class=04 subclass 03 prog-if 00: no DSP, use legacy driver