summaryrefslogtreecommitdiffstats
path: root/kernel/hrtimer.c
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2013-09-28 22:13:07 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2013-09-28 22:25:30 +0200
commitf41f064cf4352e6a7fd982f1de8a690897702513 (patch)
tree4fcdb114235d5453e0c4abaa06a703f424f991d2 /kernel/hrtimer.c
parentMerge branch 'lockref' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/... (diff)
downloadlinux-f41f064cf4352e6a7fd982f1de8a690897702513.tar.xz
linux-f41f064cf4352e6a7fd982f1de8a690897702513.zip
PCI: Workaround missing pci_set_master in pci drivers
Ben Herrenschmidt found that commit 928bea964827 ("PCI: Delay enabling bridges until they're needed") breaks PCI in some powerpc environments. The reason is that the PCIe port driver will call pci_enable_device() on the bridge, so the device is enabled, but skips pci_set_master because pcie_port_auto and no acpi on powerpc. Because of that, pci_enable_bridge() later on (called as a result of the child device driver doing pci_enable_device) will see the bridge as already enabled and will not call pci_set_master() on it. Fixed by add checking in pci_enable_bridge, and call pci_set_master if driver skip that. That will make the code more robot and wade off problem for missing pci_set_master in drivers. Reported-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/hrtimer.c')
0 files changed, 0 insertions, 0 deletions