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

Commit 8834807b authored by Jeremy Fitzhardinge's avatar Jeremy Fitzhardinge Committed by David S. Miller
Browse files

[NET] netpoll: don't spin forever sending to stopped queues



When transmitting a skb in netpoll_send_skb(), only retry a limited number
of times if the device queue is stopped.

Signed-off-by: default avatarJeremy Fitzhardinge <jeremy@goop.org>
Acked-by: default avatarMatt Mackall <mpm@selenic.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d83561a4
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -279,14 +279,10 @@ static void netpoll_send_skb(struct netpoll *np, struct sk_buff *skb)
		 * network drivers do not expect to be called if the queue is
		 * stopped.
		 */
		if (netif_queue_stopped(np->dev)) {
			netif_tx_unlock(np->dev);
			netpoll_poll(np);
			udelay(50);
			continue;
		}

		status = NETDEV_TX_BUSY;
		if (!netif_queue_stopped(np->dev))
			status = np->dev->hard_start_xmit(skb, np->dev);

		netif_tx_unlock(np->dev);

		/* success */