[PATCH] PCI panic on dlpar add (add pci slot to running partition)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Greg, Please apply and forward upstream.

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 <[email protected]>

Index: linux-2.6.15-git6/drivers/pci/hotplug/rpadlpar_core.c
===================================================================
--- linux-2.6.15-git6.orig/drivers/pci/hotplug/rpadlpar_core.c	2006-01-12 13:54:52.374015674 -0600
+++ linux-2.6.15-git6/drivers/pci/hotplug/rpadlpar_core.c	2006-01-12 13:56:08.191380743 -0600
@@ -152,7 +152,7 @@
 	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);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux