mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
6fba848a9a
commit
829185e97f
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue