RE: [PATCH net-next V2 06/16] net: fec: don't clear all rx queue bits when just one is being checked
From: Fugang Duan <hidden>
Date: 2016-03-04 09:11:57
Also in:
linux-arm-kernel
From: Troy Kisky <redacted>Sent: Thursday, February 25, 2016 8:37 AM
quoted hunk ↗ jump to hunk
To: netdev@vger.kernel.org; davem@davemloft.net; b38611@freescale.com Cc: fabio.estevam@freescale.com; l.stach@pengutronix.de; andrew@lunn.ch; tremyfr@gmail.com; linux@arm.linux.org.uk; linux-arm- kernel@lists.infradead.org; laci@boundarydevices.com; shawnguo@kernel.org; johannes@sipsolutions.net; stillcompiling@gmail.com; sergei.shtylyov@cogentembedded.com; arnd@arndb.de; Troy Kisky [off-list ref] Subject: [PATCH net-next V2 06/16] net: fec: don't clear all rx queue bits when just one is being checked FEC_ENET_RXF is 3 separate bits, we only check one queue at a time. So, when the last queue is being checked, it is bad to remove the interrupt on the 1st queue. Also, since this is now done in the napi routine and not the interrupt, it is not needed. Signed-off-by: Troy Kisky <redacted> --- drivers/net/ethernet/freescale/fec_main.c | 2 -- 1 file changed, 2 deletions(-)diff --git a/drivers/net/ethernet/freescale/fec_main.cb/drivers/net/ethernet/freescale/fec_main.c index 610cf6c..791f385 100644--- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c@@ -1338,8 +1338,6 @@ static int fec_rxq(struct net_device *ndev, structfec_enet_private *fep, break; pkt_received++; - writel(FEC_ENET_RXF, fep->hwp + FEC_IEVENT); -
We should clear the related rx queue ievent, not remove the code. Pls see commit: db3421c114cf that was submitted by Russell King. No ack the patch.
/* Check for errors. */ status ^= BD_ENET_RX_LAST; if (status & (BD_ENET_RX_LG | BD_ENET_RX_SH | BD_ENET_RX_NO | -- 2.5.0