diff options
author | Daniel Hellstrom <daniel@gaisler.com> | 2014-09-05 15:13:48 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-09-06 08:57:09 +0400 |
commit | e1743a16a043f3d6b707730e46ba33ca931fb553 (patch) | |
tree | 4efe72f85939140ee111c5992743a24f8bc66a27 /drivers/net/ethernet/aeroflex/greth.h | |
parent | c99d667e852766afc755fa4430be64bb94e5ea1c (diff) | |
download | linux-e1743a16a043f3d6b707730e46ba33ca931fb553.tar.xz |
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>
Diffstat (limited to 'drivers/net/ethernet/aeroflex/greth.h')
-rw-r--r-- | drivers/net/ethernet/aeroflex/greth.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/aeroflex/greth.h b/drivers/net/ethernet/aeroflex/greth.h index 232a622a85b7..ae16ac94daf8 100644 --- a/drivers/net/ethernet/aeroflex/greth.h +++ b/drivers/net/ethernet/aeroflex/greth.h @@ -107,7 +107,7 @@ struct greth_private { u16 tx_next; u16 tx_last; - u16 tx_free; + u16 tx_free; /* only used on 10/100Mbit */ u16 rx_cur; struct greth_regs *regs; /* Address of controller registers. */ |