Преглед на файлове

[POWERPC] Extra sanity check in EEH code

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>
Nathan Lynch преди 19 години
родител
ревизия
ccba051c37
променени са 1 файла, в които са добавени 2 реда и са изтрити 0 реда
  1. 2 0
      arch/powerpc/platforms/pseries/eeh_cache.c

+ 2 - 0
arch/powerpc/platforms/pseries/eeh_cache.c

@@ -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;
 	}