|
@@ -52,13 +52,18 @@ static struct sk_buff_head skbtxq;
|
|
|
|
|
|
/* enters with txlock held */
|
|
|
static int
|
|
|
-tx(void)
|
|
|
+tx(void) __must_hold(&txlock)
|
|
|
{
|
|
|
struct sk_buff *skb;
|
|
|
+ struct net_device *ifp;
|
|
|
|
|
|
while ((skb = skb_dequeue(&skbtxq))) {
|
|
|
spin_unlock_irq(&txlock);
|
|
|
- dev_queue_xmit(skb);
|
|
|
+ ifp = skb->dev;
|
|
|
+ if (dev_queue_xmit(skb) == NET_XMIT_DROP && net_ratelimit())
|
|
|
+ pr_warn("aoe: packet could not be sent on %s. %s\n",
|
|
|
+ ifp ? ifp->name : "netif",
|
|
|
+ "consider increasing tx_queue_len");
|
|
|
spin_lock_irq(&txlock);
|
|
|
}
|
|
|
return 0;
|