Bug 10583
Summary: | x86 PCI dmi_check_system() quirk checks not being run | ||
---|---|---|---|
Product: | Platform Specific/Hardware | Reporter: | Matt Domsch (Matt_Domsch) |
Component: | x86-64 | Assignee: | Matt Domsch (Matt_Domsch) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | bunk, jgarzik, linux-bugs, muli |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.25 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Attachments: | 0001-fix-x86-DMI-checks-for-PCI-quirks.patch |
Description
Matt Domsch
2008-05-01 07:01:10 UTC
2.6.22 worked fine; 2.6.23.1 as in Fedora 8 failed. I'm bisecting now... git commit 08f1c192c3c32797068bfe97738babb3295bbf42 I believe is the culprit. Note how it removes the call to pcibios_scan_root(). commit 08f1c192c3c32797068bfe97738babb3295bbf42 Author: Muli Ben-Yehuda <muli@il.ibm.com> Date: Sun Jul 22 00:23:39 2007 +0300 x86-64: introduce struct pci_sysdata to facilitate sharing of ->sysdata This patch introduces struct pci_sysdata to x86 and x86-64, and converts the existing two users (NUMA, Calgary) to use it. This lays the groundwork for having other users of sysdata, such as the PCI domains work. The Calgary bits are tested, the NUMA bits just look ok. Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> I'm working on a patch to pull the DMI testing out of arch/x86/common.c, putting it in arch/x86/dmi.c, and calling it as a subsys_init() before the ACPI or legacy subsys_init() routines run. That will set the flags appropriately early enough for all the current users of this feature. Created attachment 16005 [details]
0001-fix-x86-DMI-checks-for-PCI-quirks.patch
patch submitted to LKML. It also applies cleanly to 2.6.25.1, so should be a candidate for -stable if accepted to mainline/mm.
There's a cleaner solution in x86.git already, pending push to Linus. commit 9817aa147000086bc11b571620ecc1c73a4a614b Author: Yinghai Lu <yhlu.kernel@gmail.com> Date: Mon Apr 14 15:40:37 2008 -0700 x86 PCI: call dmi_check_pciprobe() this change: | commit 08f1c192c3c32797068bfe97738babb3295bbf42 | Author: Muli Ben-Yehuda <muli@il.ibm.com> | Date: Sun Jul 22 00:23:39 2007 +0300 | | x86-64: introduce struct pci_sysdata to facilitate sharing of ->sysdata | | This patch introduces struct pci_sysdata to x86 and x86-64, and | converts the existing two users (NUMA, Calgary) to use it. | | This lays the groundwork for having other users of sysdata, such as | the PCI domains work. | | The Calgary bits are tested, the NUMA bits just look ok. replaces pcibios_scan_root with pci_scan_bus_parented... but in pcibios_scan_root we have a DMI check: dmi_check_system(pciprobe_dmi_table); when when have several peer root buses this could be called multiple times (which is bad), so move that call to pci_access_init(). Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> the above commit has been pushed to 2.6.26-rc1, and I've submitted the equivalent backported fix to stable@. in mainline and queued for 2.6.25.2. Closing. |