aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinas Vepstas <linas@linas.org>2005-11-03 18:51:17 -0600
committerPaul Mackerras <paulus@samba.org>2005-11-10 16:02:35 +1100
commitfe98aeab8494cf431ef62e080cbe1dc1b6f5bd49 (patch)
treea0a66f8a8de8115d7310c4e9821f04194173987b
parentd9564ad11454581f85b77026f290f4bb24eecf25 (diff)
[PATCH] ppc64: bugfix: crash on PHB add
19-rpaphp-crashing.patch This patch fixes a bug related to dlpar PHB add, after a PHB removal. -- The crash was due to the PHB not having a pci_dn structure yet, when the phb is being added. This code survived testing, of adding and removeig the PHB and all slots underneath it, 17 times so far, as of this writing. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r--drivers/pci/hotplug/rpadlpar_core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/hotplug/rpadlpar_core.c b/drivers/pci/hotplug/rpadlpar_core.c
index fcb66b9a0e2..e8593a60ee8 100644
--- a/drivers/pci/hotplug/rpadlpar_core.c
+++ b/drivers/pci/hotplug/rpadlpar_core.c
@@ -306,7 +306,7 @@ static int dlpar_add_phb(char *drc_name, struct device_node *dn)
{
struct pci_controller *phb;
- if (PCI_DN(dn)->phb) {
+ if (PCI_DN(dn) && PCI_DN(dn)->phb) {
/* PHB already exists */
return -EINVAL;
}