diff options
Diffstat (limited to 'drivers/net/xen-netback/netback.c')
-rw-r--r-- | drivers/net/xen-netback/netback.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c index 1d9940d4e8c7..c9262ffeefe4 100644 --- a/drivers/net/xen-netback/netback.c +++ b/drivers/net/xen-netback/netback.c | |||
@@ -925,6 +925,7 @@ static void xenvif_tx_build_gops(struct xenvif_queue *queue, | |||
925 | skb_shinfo(skb)->nr_frags = MAX_SKB_FRAGS; | 925 | skb_shinfo(skb)->nr_frags = MAX_SKB_FRAGS; |
926 | nskb = xenvif_alloc_skb(0); | 926 | nskb = xenvif_alloc_skb(0); |
927 | if (unlikely(nskb == NULL)) { | 927 | if (unlikely(nskb == NULL)) { |
928 | skb_shinfo(skb)->nr_frags = 0; | ||
928 | kfree_skb(skb); | 929 | kfree_skb(skb); |
929 | xenvif_tx_err(queue, &txreq, extra_count, idx); | 930 | xenvif_tx_err(queue, &txreq, extra_count, idx); |
930 | if (net_ratelimit()) | 931 | if (net_ratelimit()) |
@@ -940,6 +941,7 @@ static void xenvif_tx_build_gops(struct xenvif_queue *queue, | |||
940 | 941 | ||
941 | if (xenvif_set_skb_gso(queue->vif, skb, gso)) { | 942 | if (xenvif_set_skb_gso(queue->vif, skb, gso)) { |
942 | /* Failure in xenvif_set_skb_gso is fatal. */ | 943 | /* Failure in xenvif_set_skb_gso is fatal. */ |
944 | skb_shinfo(skb)->nr_frags = 0; | ||
943 | kfree_skb(skb); | 945 | kfree_skb(skb); |
944 | kfree_skb(nskb); | 946 | kfree_skb(nskb); |
945 | break; | 947 | break; |