diff options
Diffstat (limited to 'drivers/net/hyperv/netvsc.c')
-rw-r--r-- | drivers/net/hyperv/netvsc.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c index ecbd81385e96..f69923695b5b 100644 --- a/drivers/net/hyperv/netvsc.c +++ b/drivers/net/hyperv/netvsc.c @@ -866,11 +866,15 @@ int netvsc_send(struct hv_device *device, netvsc_copy_to_send_buf(net_device, section_index, msd_len, packet); - skb = (struct sk_buff *) - (unsigned long)packet->send_completion_tid; + if (!packet->part_of_skb) { + skb = (struct sk_buff *) + (unsigned long) + packet->send_completion_tid; + + packet->send_completion_tid = 0; + } packet->page_buf_cnt = 0; - packet->send_completion_tid = 0; packet->send_buf_index = section_index; packet->total_data_buflen += msd_len; |