diff options
author | Olof Johansson <olof@lixom.net> | 2007-09-15 13:53:19 -0700 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 16:51:00 -0700 |
commit | 829185e97fba67ededd3eb025147bafcc0ca7557 (patch) | |
tree | 88160c1d7b0afeaade6c79904501a629aa9d3a6c | |
parent | 6fba848a9a4bbe03f61b22bf0e4063d7ed4c561a (diff) | |
download | op-kernel-dev-829185e97fba67ededd3eb025147bafcc0ca7557.zip op-kernel-dev-829185e97fba67ededd3eb025147bafcc0ca7557.tar.gz |
pasemi_mac: Clean TX ring in poll
Unfortunately there's no timeout for how long a packet can sit on
the TX ring after completion before an interrupt is generated, and
we want to have a threshold that's larger than one packet per interrupt.
So we have to have a timer that occasionally cleans the TX ring even
though there hasn't been an interrupt. Instead of setting up a dedicated
timer for this, just clean it in the NAPI poll routine instead.
[ Resolved conflicts with napi_struct changes... -DaveM ]
Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/pasemi_mac.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/pasemi_mac.c b/drivers/net/pasemi_mac.c index 916a76e..48c1170 100644 --- a/drivers/net/pasemi_mac.c +++ b/drivers/net/pasemi_mac.c @@ -1078,6 +1078,7 @@ static int pasemi_mac_poll(struct napi_struct *napi, int budget) struct net_device *dev = mac->netdev; int pkts; + pasemi_mac_clean_tx(mac); pkts = pasemi_mac_clean_rx(mac, budget); if (pkts < budget) { /* all done, no more packets present */ |