Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 829185e9 authored by Olof Johansson's avatar Olof Johansson Committed by David S. Miller
Browse files

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: default avatarOlof Johansson <olof@lixom.net>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6fba848a
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -1078,6 +1078,7 @@ static int pasemi_mac_poll(struct napi_struct *napi, int budget)
	struct net_device *dev = mac->netdev;
	struct net_device *dev = mac->netdev;
	int pkts;
	int pkts;


	pasemi_mac_clean_tx(mac);
	pkts = pasemi_mac_clean_rx(mac, budget);
	pkts = pasemi_mac_clean_rx(mac, budget);
	if (pkts < budget) {
	if (pkts < budget) {
		/* all done, no more packets present */
		/* all done, no more packets present */