|
|
@@ -925,6 +925,7 @@ static void xenvif_tx_build_gops(struct xenvif_queue *queue,
|
|
|
skb_shinfo(skb)->nr_frags = MAX_SKB_FRAGS;
|
|
|
nskb = xenvif_alloc_skb(0);
|
|
|
if (unlikely(nskb == NULL)) {
|
|
|
+ skb_shinfo(skb)->nr_frags = 0;
|
|
|
kfree_skb(skb);
|
|
|
xenvif_tx_err(queue, &txreq, extra_count, idx);
|
|
|
if (net_ratelimit())
|
|
|
@@ -940,6 +941,7 @@ static void xenvif_tx_build_gops(struct xenvif_queue *queue,
|
|
|
|
|
|
if (xenvif_set_skb_gso(queue->vif, skb, gso)) {
|
|
|
/* Failure in xenvif_set_skb_gso is fatal. */
|
|
|
+ skb_shinfo(skb)->nr_frags = 0;
|
|
|
kfree_skb(skb);
|
|
|
kfree_skb(nskb);
|
|
|
break;
|