From 61b16b307663ac972bc6c80cc5b308c546396027 Mon Sep 17 00:00:00 2001 From: Fugang Duan Date: Thu, 26 Jun 2014 18:37:56 +0800 Subject: [PATCH] ENGR00320136 net: fec: fix rcv is not last issue when do suspend/resume test When do suspend/resume stress test, some log shows "rcv is not +last". The issue is that enet suspend will disable phy clock, phy link down, after resume back, enet MAC redo initial and ready to tx/rx packet, but phy still is not ready which is doing auto-negotiation. When phy link is not up, don't schdule napi soft irq. Signed-off-by: Fugang Duan --- drivers/net/ethernet/freescale/fec_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 185f7f2d71b4dc..853b19f0e6137c 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -1601,7 +1601,7 @@ fec_enet_interrupt(int irq, void *dev_id) fep->work_ts = 0; } - if (fep->work_tx || fep->work_rx) { + if ((fep->work_tx || fep->work_rx) && fep->link) { ret = IRQ_HANDLED; /* Disable the RX interrupt */