dpaa2-eth: Fix ndo_stop routine
authorIoana Ciocoi Radulescu <ruxandra.radulescu@nxp.com>
Wed, 16 Jan 2019 16:51:44 +0000 (16:51 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 17 Jan 2019 23:37:02 +0000 (15:37 -0800)
commit68d7431553a0cd05bce98d1c1d3fc56b3a1807c0
tree7e39a4d468537cafeae72915e8eafa055084e6a8
parent5191673b693251d8cd80eae360390df4be4ba6b3
dpaa2-eth: Fix ndo_stop routine

In the current implementation, on interface down we disabled NAPI and
then manually drained any remaining ingress frames. This could lead
to a situation when, under heavy traffic, the data availability
notification for some of the channels would not get rearmed correctly.

Change the implementation such that we let all remaining ingress frames
be processed as usual and only disable NAPI once the hardware queues
are empty.

We also add a wait on the Tx side, to allow hardware time to process
all in-flight Tx frames before issueing the disable command.

Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c