|
@@ -671,8 +671,7 @@ static bool try_fill_recv(struct receive_queue *rq, gfp_t gfp)
|
|
|
if (err)
|
|
|
break;
|
|
|
} while (rq->vq->num_free);
|
|
|
- if (unlikely(!virtqueue_kick(rq->vq)))
|
|
|
- return false;
|
|
|
+ virtqueue_kick(rq->vq);
|
|
|
return !oom;
|
|
|
}
|
|
|
|
|
@@ -877,7 +876,7 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev)
|
|
|
err = xmit_skb(sq, skb);
|
|
|
|
|
|
/* This should not happen! */
|
|
|
- if (unlikely(err) || unlikely(!virtqueue_kick(sq->vq))) {
|
|
|
+ if (unlikely(err)) {
|
|
|
dev->stats.tx_fifo_errors++;
|
|
|
if (net_ratelimit())
|
|
|
dev_warn(&dev->dev,
|
|
@@ -886,6 +885,7 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev)
|
|
|
kfree_skb(skb);
|
|
|
return NETDEV_TX_OK;
|
|
|
}
|
|
|
+ virtqueue_kick(sq->vq);
|
|
|
|
|
|
/* Don't wait up for transmitted skbs to be freed. */
|
|
|
skb_orphan(skb);
|