greth: moved TX ring cleaning to NAPI rx poll func
authorDaniel Hellstrom <daniel@gaisler.com>
Fri, 5 Sep 2014 11:13:48 +0000 (13:13 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 6 Sep 2014 04:57:09 +0000 (21:57 -0700)
commite1743a16a043f3d6b707730e46ba33ca931fb553
tree4efe72f85939140ee111c5992743a24f8bc66a27
parentc99d667e852766afc755fa4430be64bb94e5ea1c
greth: moved TX ring cleaning to NAPI rx poll func

This patch does not affect the 10/100 GRETH MAC.

Before all GBit GRETH TX descriptor ring cleaning was done in
start_xmit(), when descriptor list became full it activated
TX interrupt to start the NAPI rx poll function to do TX ring
cleaning.

With this patch the TX descriptor ring is always cleaned from
the NAPI rx poll function, triggered via TX or RX interrupt.
Otherwise we could end up in TX frames being sent but not
reported to the stack being sent. On the 10/100 GRETH this
is not an issue since the SKB is copied&aligned into private
buffers so that the SKB can be freed directly on start_xmit()

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/aeroflex/greth.c
drivers/net/ethernet/aeroflex/greth.h