From: Dean Nelson <dnelson@redhat.com> Date: Tue, 2 Jun 2009 10:05:20 -0400 Subject: [pci] quirk: disable MSI on VIA VT3364 chipsets Message-id: 20090602140454.18898.23595.sendpatchset@localhost.localdomain O-Subject: [RHEL5 PATCH] PCI quirk: disable MSI on VIA VT3364 chipsets Bugzilla: 501374 RH-Acked-by: Stefan Assmann <sassmann@redhat.com> RH-Acked-by: Prarit Bhargava <prarit@redhat.com> RH-Acked-by: Pete Zaitcev <zaitcev@redhat.com> System requires pci=nomsi boot parameter during and after installation. If parameter not available and the network device is enabled during installation, the system will hang during boot after installation and OS will become corrupted. The solution is to disable MSI on VIA VT3364 chipsets. This patch is a backport by Flavio Leitner <fleitner@redhat.com> of an upstream commit (see http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=162dedd39dcc6eca3fc0d29cf19658c6c13b840e). Customer has identified that the upstream commit fixes the problem. Resolves BZ 501374. diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index da65176..e7e211e 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -1825,6 +1825,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_GCN DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS400_200, quirk_disable_all_msi); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS480, quirk_disable_all_msi); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3351, quirk_disable_all_msi); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3364, quirk_disable_all_msi); /* Disable MSI on chipsets that are known to not support it */ static void __devinit quirk_disable_msi(struct pci_dev *dev) diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index ca982e1..096c2a4 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -1299,6 +1299,7 @@ #define PCI_DEVICE_ID_VIA_8363_0 0x0305 #define PCI_DEVICE_ID_VIA_P4M800CE 0x0314 #define PCI_DEVICE_ID_VIA_VT3351 0x0351 +#define PCI_DEVICE_ID_VIA_VT3364 0x0364 #define PCI_DEVICE_ID_VIA_8371_0 0x0391 #define PCI_DEVICE_ID_VIA_8501_0 0x0501 #define PCI_DEVICE_ID_VIA_82C561 0x0561