Merge branch 'fix/hda' into for-linus
authorTakashi Iwai <tiwai@suse.de>
Wed, 17 Mar 2010 08:01:38 +0000 (09:01 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 17 Mar 2010 08:01:38 +0000 (09:01 +0100)
1  2 
sound/pci/hda/hda_intel.c

@@@ -2271,6 -2271,7 +2271,7 @@@ static struct snd_pci_quirk position_fi
        SND_PCI_QUIRK(0x1043, 0x813d, "ASUS P5AD2", POS_FIX_LPIB),
        SND_PCI_QUIRK(0x1462, 0x1002, "MSI Wind U115", POS_FIX_LPIB),
        SND_PCI_QUIRK(0x1565, 0x820f, "Biostar Microtech", POS_FIX_LPIB),
+       SND_PCI_QUIRK(0x8086, 0xd601, "eMachines T5212", POS_FIX_LPIB),
        {}
  };
  
@@@ -2378,6 -2379,13 +2379,13 @@@ static void __devinit check_msi(struct 
                       "hda_intel: msi for device %04x:%04x set to %d\n",
                       q->subvendor, q->subdevice, q->value);
                chip->msi = q->value;
+               return;
+       }
+       /* NVidia chipsets seem to cause troubles with MSI */
+       if (chip->driver_type == AZX_DRIVER_NVIDIA) {
+               printk(KERN_INFO "hda_intel: Disable MSI for Nvidia chipset\n");
+               chip->msi = 0;
        }
  }
  
@@@ -2693,7 -2701,7 +2701,7 @@@ static void __devexit azx_remove(struc
  }
  
  /* PCI IDs */
 -static struct pci_device_id azx_ids[] = {
 +static DEFINE_PCI_DEVICE_TABLE(azx_ids) = {
        /* ICH 6..10 */
        { PCI_DEVICE(0x8086, 0x2668), .driver_data = AZX_DRIVER_ICH },
        { PCI_DEVICE(0x8086, 0x27d8), .driver_data = AZX_DRIVER_ICH },
        { PCI_DEVICE(0x8086, 0x3a6e), .driver_data = AZX_DRIVER_ICH },
        /* PCH */
        { PCI_DEVICE(0x8086, 0x3b56), .driver_data = AZX_DRIVER_ICH },
+       { PCI_DEVICE(0x8086, 0x3b57), .driver_data = AZX_DRIVER_ICH },
        /* CPT */
        { PCI_DEVICE(0x8086, 0x1c20), .driver_data = AZX_DRIVER_PCH },
        /* SCH */