Skip to content

Commit

Permalink
[PATCH] PCI Hotplug: PCI panic on dlpar add (add pci slot to running …
Browse files Browse the repository at this point in the history
…partition)

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>
  • Loading branch information
linas authored and Greg Kroah-Hartman committed Feb 1, 2006
1 parent dd8c499 commit 3c0c644
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/pci/hotplug/rpadlpar_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ static struct pci_dev *dlpar_pci_add_bus(struct device_node *dn)
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);
Expand Down

0 comments on commit 3c0c644

Please sign in to comment.