[PATCH] ppc64: bugfix: crash on PHB add
authorLinas Vepstas <linas@linas.org>
Fri, 4 Nov 2005 00:51:17 +0000 (18:51 -0600)
committerPaul Mackerras <paulus@samba.org>
Thu, 10 Nov 2005 05:02:35 +0000 (16:02 +1100)
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>
drivers/pci/hotplug/rpadlpar_core.c

index fcb66b9a0e289c1a16ad262beff5984dc42e6e08..e8593a60ee89d001e928adc737cbd3c638aa0de7 100644 (file)
@@ -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;
        }