diff options
author | Olof Johansson <olof@lixom.net> | 2007-09-15 16:53:19 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:51:00 -0400 |
commit | 829185e97fba67ededd3eb025147bafcc0ca7557 (patch) | |
tree | 88160c1d7b0afeaade6c79904501a629aa9d3a6c /drivers/net/pasemi_mac.c | |
parent | 6fba848a9a4bbe03f61b22bf0e4063d7ed4c561a (diff) |
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>
Diffstat (limited to 'drivers/net/pasemi_mac.c')
-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 916a76e28a87..48c117038fef 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) | |||
1078 | struct net_device *dev = mac->netdev; | 1078 | struct net_device *dev = mac->netdev; |
1079 | int pkts; | 1079 | int pkts; |
1080 | 1080 | ||
1081 | pasemi_mac_clean_tx(mac); | ||
1081 | pkts = pasemi_mac_clean_rx(mac, budget); | 1082 | pkts = pasemi_mac_clean_rx(mac, budget); |
1082 | if (pkts < budget) { | 1083 | if (pkts < budget) { |
1083 | /* all done, no more packets present */ | 1084 | /* all done, no more packets present */ |