Hi The attached patch avoids access past null for the sun4d. This does not impact the kobject_add failed issue. Minor restructure of the parent determination would simplify the code, the sun4d should never have an sbi at the root node. This gets me up to the kobject_add issue ugh Thanx Ray
diff --git a/arch/sparc/kernel/of_device.c b/arch/sparc/kernel/of_device.c index bbd3203..5d41a55 100644 --- a/arch/sparc/kernel/of_device.c +++ b/arch/sparc/kernel/of_device.c @@ -559,17 +559,17 @@ static struct of_device * __init scan_on }; struct device_node *busp = dp->parent; struct linux_prom_registers *regs; - int board = of_getintprop_default(busp, "board#", 0); - int slot; + int board, slot; + if (busp) board = of_getintprop_default(busp, "board#", 0); regs = of_get_property(dp, "reg", NULL); - slot = regs->which_io; + if (regs) slot = regs->which_io; for (i = 0; i < op->num_irqs; i++) { int this_irq = op->irqs[i]; int sbusl = pil_to_sbus[this_irq]; - if (sbusl) + if (busp && regs && sbusl) this_irq = (((board + 1) << 5) + (sbusl << 2) + slot);