FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Ubuntu > Ubuntu Kernel Team

 
 
LinkBack Thread Tools
 
Old 05-07-2008, 02:26 AM
Tim Gardner
 
Default UBUNTU: kernel: fix x86 DMI checks for PCI quirks OriginalAuthor: Yinghai Lu , Matt Domsch Matt_Domsch@Dell.com OriginalLocation: http://launchpadlibrarian.net/14261845/dmi-2.6.25-1.patch Bug: #225811

Since git commit 08f1c192c3c32797068bfe97738babb3295bbf42 (between
kernels 2.6.22 and 2.6.23), arch/x86/pci/acpi.c has not called
pcibios_scan_root(), which would have called
arch/x86/pci/common.c:dmi_check_system(). This has prevented the
quirks listed in pciprobe_dmi_table[] from being checked and
appropriate action taken.

Signed-off-by: Matt Domsch Matt_Domsch@Dell.com
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
---
arch/x86/pci/common.c | 7 +++++--
arch/x86/pci/init.c | 2 ++
arch/x86/pci/pci.h | 2 ++
3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c
index 06d8a7d..a94eb27 100644
--- a/arch/x86/pci/common.c
+++ b/arch/x86/pci/common.c
@@ -349,13 +349,16 @@ static struct dmi_system_id __devinitdata pciprobe_dmi_table[] = {
{}
};

+void __init dmi_check_pciprobe(void)
+{
+ dmi_check_system(pciprobe_dmi_table);
+}
+
struct pci_bus * __devinit pcibios_scan_root(int busnum)
{
struct pci_bus *bus = NULL;
struct pci_sysdata *sd;

- dmi_check_system(pciprobe_dmi_table);
-
while ((bus = pci_find_next_bus(bus)) != NULL) {
if (bus->number == busnum) {
/* Already scanned */
diff --git a/arch/x86/pci/init.c b/arch/x86/pci/init.c
index 3de9f9b..f1bf4e5 100644
--- a/arch/x86/pci/init.c
+++ b/arch/x86/pci/init.c
@@ -32,6 +32,8 @@ static __init int pci_access_init(void)
printk(KERN_ERR
"PCI: Fatal: No config space access function found
");

+ dmi_check_pciprobe();
+
return 0;
}
arch_initcall(pci_access_init);
diff --git a/arch/x86/pci/pci.h b/arch/x86/pci/pci.h
index ac56d39..ffdbe11 100644
--- a/arch/x86/pci/pci.h
+++ b/arch/x86/pci/pci.h
@@ -39,6 +39,8 @@ enum pci_bf_sort_state {
pci_dmi_bf,
};

+extern void __init dmi_check_pciprobe(void);
+
/* pci-i386.c */

extern unsigned int pcibios_max_latency;
--
1.5.4.3


--------------010509000901080406060307
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team

--------------010509000901080406060307--
 

Thread Tools




All times are GMT. The time now is 07:34 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org