aboutsummaryrefslogtreecommitdiffstats
path: root/pci
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2006-01-16 14:19:52 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2006-01-16 14:19:52 -0800
commitf37752a5fedef203decdcf6197f53b9cffa04416 (patch)
tree08512e83fba2a7ea076e85c3c4303e64337c180d /pci
parentd07e9db91955bb3909a915f56e90b380c189d8fb (diff)
downloadpatches-f37752a5fedef203decdcf6197f53b9cffa04416.tar.gz
more patches added
Diffstat (limited to 'pci')
-rw-r--r--pci/pci-hotplug-pci-panic-on-dlpar-add.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/pci/pci-hotplug-pci-panic-on-dlpar-add.patch b/pci/pci-hotplug-pci-panic-on-dlpar-add.patch
new file mode 100644
index 0000000000000..d202adfc54603
--- /dev/null
+++ b/pci/pci-hotplug-pci-panic-on-dlpar-add.patch
@@ -0,0 +1,39 @@
+From linas@austin.ibm.com Mon Jan 16 14:06:03 2006
+Date: Thu, 12 Jan 2006 14:36:25 -0600
+To: Greg KH <greg@kroah.com>
+Cc: Paul Mackerras <paulus@samba.org>, johnrose@austin.ibm.com
+Subject: PCI Hotplug: PCI panic on dlpar add (add pci slot to running partition)
+Message-ID: <20060112203625.GU26221@austin.ibm.com>
+Content-Disposition: inline
+From: linas@austin.ibm.com (linas)
+
+
+Removing and then adding a PCI slot to a running partition results in
+a kernel panic. The current code attempts to add iospace for an entire
+root bus, which is inappropriate, and silently fails. When a pci device
+tries to use the iospace, a page fault is taken, as the iospace had not
+been mapped, and of course the page fault cannot be resolved.
+
+This only occurs for PCI adapters using pio, which may be why it hadn't
+been seen earlier (this seems to have been broken for a while).
+This patch has survived testing of dozens of slot add and removes.
+
+Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
+Acked-by: John Rose <johnrose@austin.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/pci/hotplug/rpadlpar_core.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- gregkh-2.6.orig/drivers/pci/hotplug/rpadlpar_core.c
++++ gregkh-2.6/drivers/pci/hotplug/rpadlpar_core.c
+@@ -152,7 +152,7 @@ static struct pci_dev *dlpar_pci_add_bus
+ pcibios_claim_one_bus(dev->bus);
+
+ /* ioremap() for child bus, which may or may not succeed */
+- (void) remap_bus_range(dev->bus);
++ remap_bus_range(dev->subordinate);
+
+ /* Add new devices to global lists. Register in proc, sysfs. */
+ pci_bus_add_devices(phb->bus);