-2.4.23-rc1 pci-irq.c bad PCI ident of 440GX host bridge
PATCH 1/1 -2.4.23-rc1 pci-irq.c bad PCI ident of 440GX host bridge
hi,
someone needs a new glasses ;-)
The code is using PCI_DEVICE_ID_INTEL_82450GX(0x84c5) to identify a 440GX Host Bridge. And that id is the *Memory Controller* of 450KX/GX chipsets. WRONG!
The Host Bridge of 440GX chipset is 82443GX. And it got _two_ PCI ident 0x71a0(AGP enable) and 0x71a2(with AGP disable).
This patch comes from http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=107880
by Phil Oester <[email protected]>
People with INTEL 440GX boards is going to get troubles without this patch.
-thanks-
--
bug reports to [email protected]
arch/i386/kernel/pci-irq.c +2 -1
@@ -575,7 +575,8 @@ {/* We must not touch 440GX even if we have tables. 440GX has different IRQ routing weirdness */ -if (pci_find_device (PCI_VENDOR_ID_INTEL ,PCI_DEVICE_ID_INTEL_82450GX ,NULL )) +if (pci_find_device (PCI_VENDOR_ID_INTEL ,PCI_DEVICE_ID_INTEL_82443GX_0 ,NULL ) || +pci_find_device (PCI_VENDOR_ID_INTEL ,PCI_DEVICE_ID_INTEL_82443GX_2 ,NULL ))return 0 ;switch (device) {
include/linux/pci_ids.h +3 -0
@@ -1891,6 +1891,9 @@#define PCI_DEVICE_ID_INTEL_82443MX_1 0x7199#define PCI_DEVICE_ID_INTEL_82443MX_2 0x719a#define PCI_DEVICE_ID_INTEL_82443MX_3 0x719b +#define PCI_DEVICE_ID_INTEL_82443GX_0 0x71a0 +#define PCI_DEVICE_ID_INTEL_82443GX_1 0x71a1 +#define PCI_DEVICE_ID_INTEL_82443GX_2 0x71a2#define PCI_DEVICE_ID_INTEL_82372FB_0 0x7600#define PCI_DEVICE_ID_INTEL_82372FB_1 0x7601#define PCI_DEVICE_ID_INTEL_82372FB_2 0x7602