Hi,

not critical problem here.

IBM EMAC driver performs device reset (drivers/net/ibm_newemac/core.c: emac_probe() -> emac_init_phy() -> emac_reset()) before registering appropriate net_device (emac_probe() -> register_netdev()), so net_device name contains raw format string during EMAC reset ("eth%d").

If the case of reset timeout, emac_report_timeout_error() function is called to report an error. The problem is this function uses net_device name to report device related, which is not correct, as a result in the kernel log buffer we see:

eth%d: reset timeout

The solution is to print device_node full_name instead. After applying the patch proposed, error string is like the following:

/plb/opb/ether...@ef600e00: reset timeout


Signed-off-by: Mikhail Zolotaryov <le...@lebon.org.ua>


--- linux-2.6/drivers/net/ibm_newemac/core.c.orig       2009-03-10 
20:24:12.000000000 +0200
+++ linux-2.6/drivers/net/ibm_newemac/core.c            2009-03-10 
20:29:12.000000000 +0200
@@ -134,7 +134,7 @@
                                  EMAC_FTR_440EP_PHY_CLK_FIX))
                DBG(dev, "%s" NL, error);
        else if (net_ratelimit())
-               printk(KERN_ERR "%s: %s\n", dev->ndev->name, error);
+               printk(KERN_ERR "%s: %s\n", dev->ofdev->node->full_name, error);
 }
 
 /* EMAC PHY clock workaround:
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to