Skip to content

Commit 3c0c644

Browse files
linasgregkh
authored andcommitted
[PATCH] PCI Hotplug: PCI panic on dlpar add (add pci slot to running 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>
1 parent dd8c499 commit 3c0c644

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/pci/hotplug/rpadlpar_core.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ static struct pci_dev *dlpar_pci_add_bus(struct device_node *dn)
152152
pcibios_claim_one_bus(dev->bus);
153153

154154
/* ioremap() for child bus, which may or may not succeed */
155-
(void) remap_bus_range(dev->bus);
155+
remap_bus_range(dev->subordinate);
156156

157157
/* Add new devices to global lists. Register in proc, sysfs. */
158158
pci_bus_add_devices(phb->bus);

0 commit comments

Comments
 (0)