2009-03-10 18:31:48

by Mikhail Zolotaryov

[permalink] [raw]
Subject: [PATCH] powerpc 4xx EMAC driver: device name reported on timeout is not correct

--- 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:


Attachments:
emac_report_timeout_error.patch (441.00 B)

2009-03-20 05:38:39

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: [PATCH] powerpc 4xx EMAC driver: device name reported on timeout is not correct

On Tue, 2009-03-10 at 20:32 +0200, Mikhail Zolotaryov wrote:
> 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/ethernet@ef600e00: reset timeout
>
>
> Signed-off-by: Mikhail Zolotaryov <[email protected]>

Acked-by: Benjamin Herrenschmidt <[email protected]>
---

Please submit with my Ack included to the netdev list.

Cheers,
Ben.

>
>
> plain text document attachment (emac_report_timeout_error.patch)
> --- 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
> [email protected]
> https://ozlabs.org/mailman/listinfo/linuxppc-dev