]> git.baikalelectronics.ru Git - kernel.git/commit
net: fec: only clear a queue's work bit if the queue was emptied
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Tue, 3 May 2016 14:38:53 +0000 (16:38 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 May 2016 18:08:38 +0000 (14:08 -0400)
commit99506bccc54689744be5f207b10ff22c3e96bcfe
tree2199dabde58723432da3fadf9ac48034f0965a72
parent346dacfbb3e0bad970ed9fb985ae9e88a1a29f86
net: fec: only clear a queue's work bit if the queue was emptied

In the receive path a queue's work bit was cleared unconditionally even
if fec_enet_rx_queue only read out a part of the available packets from
the hardware. This resulted in not reading any packets in the next napi
turn and so packets were delayed or lost.

The obvious fix is to only clear a queue's bit when the queue was
emptied.

Fixes: 8ca69680e0a8 ("net: fec: change data structure to support multiqueue")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Tested-by: Fugang Duan <fugang.duan@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/fec_main.c