From: Greg Kroah-Hartman Date: Thu, 1 Jun 2006 00:15:35 +0000 (-0700) Subject: add a pci bugfix to get a whole class of machines working that previously died a... X-Git-Tag: v2.6.16.20~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=eee1d9e68cdb5212ccf29fb78bc7df03639c6eac;p=thirdparty%2Fkernel%2Fstable-queue.git add a pci bugfix to get a whole class of machines working that previously died a horrible death at boot time. --- diff --git a/queue-2.6.16/series b/queue-2.6.16/series index e4b873823b7..545b09455eb 100644 --- a/queue-2.6.16/series +++ b/queue-2.6.16/series @@ -7,3 +7,4 @@ ohci1394-sbp2-fix-scsi_add_device-failed-with-pl-3507-based-devices.patch the-latest-consensus-libata-resume-fix.patch ipw2200-Filter-unsupported-channels-out-in-ad-hoc-mode.patch x86_64-add-crashdump-trigger-points.patch +x86_64-Don-t-sanity-check-Type-1-PCI-bus-access-on-newer-systems.patch diff --git a/queue-2.6.16/x86_64-Don-t-sanity-check-Type-1-PCI-bus-access-on-newer-systems.patch b/queue-2.6.16/x86_64-Don-t-sanity-check-Type-1-PCI-bus-access-on-newer-systems.patch new file mode 100644 index 00000000000..ace226f584e --- /dev/null +++ b/queue-2.6.16/x86_64-Don-t-sanity-check-Type-1-PCI-bus-access-on-newer-systems.patch @@ -0,0 +1,40 @@ +From nobody Mon Sep 17 00:00:00 2001 +From: Andi Kleen +Date: Fri, 7 Apr 2006 19:49:36 +0200 +Subject: [PATCH] x86_64: Don't sanity check Type 1 PCI bus access on newer systems + +Horus systems don't have anything on bus 0 which makes +the Type 1 sanity checks fail. Use the DMI BIOS year to +check for newer systems and always assume Type 1 works on them. +I used 2001 as an pretty arbitary cutoff year. + +Cc: Navin Boppuri +Signed-off-by: Andi Kleen +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman + +--- + arch/i386/pci/direct.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- linux-2.6.16.19.orig/arch/i386/pci/direct.c ++++ linux-2.6.16.19/arch/i386/pci/direct.c +@@ -4,6 +4,7 @@ + + #include + #include ++#include + #include "pci.h" + + /* +@@ -188,6 +189,10 @@ static int __init pci_sanity_check(struc + + if (pci_probe & PCI_NO_CHECKS) + return 1; ++ /* Assume Type 1 works for newer systems. ++ This handles machines that don't have anything on PCI Bus 0. */ ++ if (dmi_get_year(DMI_BIOS_DATE) >= 2001) ++ return 1; + + for (devfn = 0; devfn < 0x100; devfn++) { + if (o->read(0, 0, devfn, PCI_CLASS_DEVICE, 2, &x))