浏览代码

hv_netvsc: Cleanup the test for freeing skb when we use sendbuf mechanism

In preparation for embedding the rndis state and other packet state into
the skb, cleanup the test for freeing the skb.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
KY Srinivasan 10 年之前
父节点
当前提交
cbacec76bc
共有 2 个文件被更改,包括 2 次插入2 次删除
  1. 1 0
      drivers/net/hyperv/netvsc.c
  2. 1 2
      drivers/net/hyperv/netvsc_drv.c

+ 1 - 0
drivers/net/hyperv/netvsc.c

@@ -870,6 +870,7 @@ int netvsc_send(struct hv_device *device,
 		       (unsigned long)packet->send_completion_tid;
 		       (unsigned long)packet->send_completion_tid;
 
 
 		packet->page_buf_cnt = 0;
 		packet->page_buf_cnt = 0;
+		packet->send_completion_tid = 0;
 		packet->send_buf_index = section_index;
 		packet->send_buf_index = section_index;
 		packet->total_data_buflen += msd_len;
 		packet->total_data_buflen += msd_len;
 
 

+ 1 - 2
drivers/net/hyperv/netvsc_drv.c

@@ -234,11 +234,10 @@ static void netvsc_xmit_completion(void *context)
 	struct hv_netvsc_packet *packet = (struct hv_netvsc_packet *)context;
 	struct hv_netvsc_packet *packet = (struct hv_netvsc_packet *)context;
 	struct sk_buff *skb = (struct sk_buff *)
 	struct sk_buff *skb = (struct sk_buff *)
 		(unsigned long)packet->send_completion_tid;
 		(unsigned long)packet->send_completion_tid;
-	u32 index = packet->send_buf_index;
 
 
 	kfree(packet);
 	kfree(packet);
 
 
-	if (skb && (index == NETVSC_INVALID_INDEX))
+	if (skb)
 		dev_kfree_skb_any(skb);
 		dev_kfree_skb_any(skb);
 }
 }