Add patch to fix RHBZ 665109

This commit is contained in:
Josh Boyer 2011-08-31 14:10:51 -04:00
parent 2702d51eae
commit 3aec185937
2 changed files with 69 additions and 1 deletions

View File

@ -48,7 +48,7 @@ Summary: The Linux kernel
# reset this by hand to 1 (or to 0 and then use rpmdev-bumpspec).
# scripts/rebase.sh should be made to do that for you, actually.
#
%global baserelease 95
%global baserelease 96
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@ -858,6 +858,9 @@ Patch14030: utrace-use-task_pid_vnr-in-ptrace_report_clone.patch
# RHBZ #672056
Patch14040: asix-add-USB-ID-for-Logitec-LAN-GTJ-U2A.patch
# RHBZ #665109
Patch14050: x86-PCI-don-t-use-native-Broadcom-CNB20LE-driver-whe.patch
%endif
BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
@ -1615,6 +1618,9 @@ ApplyPatch utrace-use-task_pid_vnr-in-ptrace_report_clone.patch
# RHBZ #672056
ApplyPatch asix-add-USB-ID-for-Logitec-LAN-GTJ-U2A.patch
# RHBZ #665109
ApplyPatch x86-PCI-don-t-use-native-Broadcom-CNB20LE-driver-whe.patch
# END OF PATCH APPLICATIONS
%endif
@ -2201,6 +2207,9 @@ fi
# and build.
%changelog
* Wed Aug 31 2011 Josh Boyer <jwboyer@redhat.com>
- Add patch to fix RHBZ #665109
* Mon Aug 29 2011 Josh Boyer <jwboyer@redhat.com>
- Add fix from Oleg Nesterov for RHBZ #573210
- Add patch for RHBZ #672056

View File

@ -0,0 +1,59 @@
From 30e664afb5cb597dd6f7651e6d116e10b9741084 Mon Sep 17 00:00:00 2001
From: Bjorn Helgaas <bjorn.helgaas@hp.com>
Date: Thu, 6 Jan 2011 10:12:24 -0700
Subject: [PATCH] x86/PCI: don't use native Broadcom CNB20LE driver when ACPI
is available
The broadcom_bus.c quirk was written (without benefit of documentation)
to support PCI hotplug on an old system that doesn't have ACPI. As
such, we should only use it when the system doesn't have ACPI.
If the system does have ACPI and we need the host bridge description, we
should get it from the ACPI _CRS method. On machines older than 2008,
we currently ignore _CRS, but that doesn't mean we should use
broadcom_bus.c. It means we should either (a) do what we've done in the
past and assume everything in the PCI gap is routed to bus 0 (so hotplug
may not work), or (b) arrange to use _CRS. This patch does (a).
Reference: https://bugzilla.redhat.com/show_bug.cgi?id=665109
Acked-by: Ira W. Snyder <iws@ovro.caltech.edu>
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
arch/x86/pci/broadcom_bus.c | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/arch/x86/pci/broadcom_bus.c b/arch/x86/pci/broadcom_bus.c
index 0846a5b..ab8269b 100644
--- a/arch/x86/pci/broadcom_bus.c
+++ b/arch/x86/pci/broadcom_bus.c
@@ -9,6 +9,7 @@
* option) any later version.
*/
+#include <linux/acpi.h>
#include <linux/delay.h>
#include <linux/dmi.h>
#include <linux/pci.h>
@@ -25,12 +26,14 @@ static void __devinit cnb20le_res(struct pci_dev *dev)
u8 fbus, lbus;
int i;
+#ifdef CONFIG_ACPI
/*
- * The x86_pci_root_bus_res_quirks() function already refuses to use
- * this information if ACPI _CRS was used. Therefore, we don't bother
- * checking if ACPI is enabled, and just generate the information
- * for both the ACPI _CRS and no ACPI cases.
+ * We should get host bridge information from ACPI unless the BIOS
+ * doesn't support it.
*/
+ if (acpi_os_get_root_pointer())
+ return;
+#endif
info = &pci_root_info[pci_root_num];
pci_root_num++;
--
1.7.6