aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/hyperv/netvsc_drv.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/hyperv/netvsc_drv.c')
-rw-r--r--drivers/net/hyperv/netvsc_drv.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
index c76b66515e92..939e3af60ec4 100644
--- a/drivers/net/hyperv/netvsc_drv.c
+++ b/drivers/net/hyperv/netvsc_drv.c
@@ -236,10 +236,11 @@ static void netvsc_xmit_completion(void *context)
236 struct hv_netvsc_packet *packet = (struct hv_netvsc_packet *)context; 236 struct hv_netvsc_packet *packet = (struct hv_netvsc_packet *)context;
237 struct sk_buff *skb = (struct sk_buff *) 237 struct sk_buff *skb = (struct sk_buff *)
238 (unsigned long)packet->send_completion_tid; 238 (unsigned long)packet->send_completion_tid;
239 u32 index = packet->send_buf_index;
239 240
240 kfree(packet); 241 kfree(packet);
241 242
242 if (skb) 243 if (skb && (index == NETVSC_INVALID_INDEX))
243 dev_kfree_skb_any(skb); 244 dev_kfree_skb_any(skb);
244} 245}
245 246