From 313f6e2d40bd67e394a65e7d64acd0cf9c9d248d Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Mon, 18 May 2009 12:40:52 +0200 Subject: [PATCH] ALSA: hda - Avoid conflicts with snd-ctxfi driver The PCI entries of Creative with HD-audio class can be the devices with emu20k1/emu20k2 chips. These are supported better by snd-ctxfi driver. With that driver, the device will mutate from HD-audio to its native class. This patch adds a simple ifdef to avoid the conflict of device probe between snd-hda-intel and snd-ctxfi drivers. 1102:0009 seems still OK to be added as it has no emu20kx chip, and is a pure HD-audio device. Signed-off-by: Takashi Iwai --- sound/pci/hda/hda_intel.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 04f19f8cad84..7bb6dd2cb6cc 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -2517,10 +2517,19 @@ static struct pci_device_id azx_ids[] = { /* Teradici */ { PCI_DEVICE(0x6549, 0x1200), .driver_data = AZX_DRIVER_TERA }, /* Creative X-Fi (CA0110-IBG) */ +#if !defined(CONFIG_SND_CTXFI) && !defined(CONFIG_SND_CTXFI_MODULE) + /* the following entry conflicts with snd-ctxfi driver, + * as ctxfi driver mutates from HD-audio to native mode with + * a special command sequence. + */ { PCI_DEVICE(PCI_VENDOR_ID_CREATIVE, PCI_ANY_ID), .class = PCI_CLASS_MULTIMEDIA_HD_AUDIO << 8, .class_mask = 0xffffff, .driver_data = AZX_DRIVER_GENERIC }, +#else + /* this entry seems still valid -- i.e. without emu20kx chip */ + { PCI_DEVICE(0x1102, 0x0009), .driver_data = AZX_DRIVER_GENERIC }, +#endif /* AMD Generic, PCI class code and Vendor ID for HD Audio */ { PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_ANY_ID), .class = PCI_CLASS_MULTIMEDIA_HD_AUDIO << 8, -- 2.30.2