Kaynağa Gözat

[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 yıl önce
ebeveyn
işleme
ccba051c37
1 değiştirilmiş dosya ile 2 ekleme ve 0 silme
  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;
 	}