[POWERPC] Extra sanity check in EEH code
authorNathan Lynch <ntl@pobox.com>
Tue, 20 Jun 2006 08:01:58 +0000 (18:01 +1000)
committerPaul Mackerras <paulus@samba.org>
Wed, 21 Jun 2006 05:01:33 +0000 (15:01 +1000)
Don't dereference a device node that isn't there.  A "shouldn't
happen" case, but someone ran into it with a possibly misconfigured
device tree.

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/platforms/pseries/eeh_cache.c

index d4a402c..98c23ae 100644 (file)
@@ -304,6 +304,8 @@ void __init pci_addr_cache_build(void)
                pci_addr_cache_insert_device(dev);
 
                dn = pci_device_to_OF_node(dev);
+               if (!dn)
+                       continue;
                pci_dev_get (dev);  /* matching put is in eeh_remove_device() */
                PCI_DN(dn)->pcidev = dev;
        }