davinci_emac: Add Carrier Link OK check in Davinci RX Handler
authorHegde, Vinay <vinay.hegde@ti.com>
Thu, 24 Feb 2011 23:56:28 +0000 (23:56 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Feb 2011 21:16:14 +0000 (13:16 -0800)
This patch adds an additional check in the Davinci EMAC RX Handler,
which tests the __LINK_STATE_NOCARRIER flag along with the
__LINK_STATE_START flag as part EMAC shutting down procedure.

This avoids
WARNING: at drivers/net/davinci_emac.c:1040 emac_rx_handler+0xf8/0x120()
during rtcwake used to suspend the target for a specified duration.

Signed-off-by: Hegde, Vinay <vinay.hegde@ti.com>
Acked-by: Cyril Chemparathy <cyril@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/davinci_emac.c

index 2a628d17d178f14a0167780c01c48b351c41550f..7018bfe408a4ecd6f21076e7093a06cb86ae2fab 100644 (file)
@@ -1008,7 +1008,7 @@ static void emac_rx_handler(void *token, int len, int status)
        int                     ret;
 
        /* free and bail if we are shutting down */
-       if (unlikely(!netif_running(ndev))) {
+       if (unlikely(!netif_running(ndev) || !netif_carrier_ok(ndev))) {
                dev_kfree_skb_any(skb);
                return;
        }