]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/meta-ti-glsdk.git/blob - recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.9/0005-PCI-workaround-hard-wired-bus-number-V2.patch
linux-ti335x-psp 3.2: update to v3.2.11
[glsdk/meta-ti-glsdk.git] / recipes-kernel / linux / linux-ti33x-psp-3.2 / 3.2.9 / 0005-PCI-workaround-hard-wired-bus-number-V2.patch
1 From 107b4c2d038911dd42e9450fc6abd42a9b5c0d7f Mon Sep 17 00:00:00 2001
2 From: Yinghai Lu <yinghai.lu@oracle.com>
3 Date: Mon, 30 Jan 2012 12:25:24 +0100
4 Subject: [PATCH 05/72] PCI: workaround hard-wired bus number V2
6 commit 71f6bd4a23130cd2f4b036010c5790b1295290b9 upstream.
8 Fixes PCI device detection on IBM xSeries IBM 3850 M2 / x3950 M2
9 when using ACPI resources (_CRS).
10 This is default, a manual workaround (without this patch)
11 would be pci=nocrs boot param.
13 V2: Add dev_warn if the workaround is hit. This should reveal
14 how common such setups are (via google) and point to possible
15 problems if things are still not working as expected.
16 -> Suggested by Jan Beulich.
18 Tested-by: garyhade@us.ibm.com
19 Signed-off-by: Yinghai Lu <yinghai.lu@oracle.com>
20 Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
21 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
22 ---
23  drivers/pci/probe.c |    5 +++++
24  1 file changed, 5 insertions(+)
26 diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
27 index 04e74f4..dfee1b3 100644
28 --- a/drivers/pci/probe.c
29 +++ b/drivers/pci/probe.c
30 @@ -651,6 +651,11 @@ int __devinit pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max,
31         dev_dbg(&dev->dev, "scanning [bus %02x-%02x] behind bridge, pass %d\n",
32                 secondary, subordinate, pass);
33  
34 +       if (!primary && (primary != bus->number) && secondary && subordinate) {
35 +               dev_warn(&dev->dev, "Primary bus is hard wired to 0\n");
36 +               primary = bus->number;
37 +       }
38 +
39         /* Check if setup is sensible at all */
40         if (!pass &&
41             (primary != bus->number || secondary <= bus->number)) {
42 -- 
43 1.7.9.4