[PATCH] need check for devices with bad status status property in __of_scan_bus()
Sonny Rao
sonnyrao at us.ibm.com
Tue May 11 11:13:41 EST 2010
Hi Ben, we ran into an issue where it looks like we're not
properly ignoring a pci device with a non-good status property
when we walk the device tree and create our device nodes.
However, the EEH init code does look for the property and
disables EEH on these devices. This leaves us in an
inconsistent where we are poking at a supposedly bad
piece of hardware and RTAS will block our config cycles
because EEH isn't enabled anyway.
This has only been compile tested.
Signed-of-by: Sonny Rao <sonnyrao at linux.vnet.ibm.com>
Index: common/arch/powerpc/kernel/pci_of_scan.c
===================================================================
--- common/arch/powerpc/kernel.orig/pci_of_scan.c 2010-05-10 20:00:40.000000000 -0500
+++ common/arch/powerpc/kernel/pci_of_scan.c 2010-05-10 20:03:04.000000000 -0500
@@ -310,6 +310,8 @@ static void __devinit __of_scan_bus(stru
/* Scan direct children */
for_each_child_of_node(node, child) {
pr_debug(" * %s\n", child->full_name);
+ if (!of_device_is_available(child))
+ continue;
reg = of_get_property(child, "reg", ®len);
if (reg == NULL || reglen < 20)
continue;
--
Sonny Rao, LTC OzLabs, BML team
More information about the Linuxppc-dev
mailing list