diff options
author | KY Srinivasan <kys@microsoft.com> | 2015-04-28 17:59:48 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-04-29 15:20:39 -0400 |
commit | b56fc3c536541c8081cd5f1f1d101a16c002a365 (patch) | |
tree | 4d887b0f261c23862d847c435c7bf94b671ad91c /drivers/net/hyperv/netvsc.c | |
parent | 48734994ac268eb391a66dca4cde7d08a08aba08 (diff) | |
download | op-kernel-dev-b56fc3c536541c8081cd5f1f1d101a16c002a365.zip op-kernel-dev-b56fc3c536541c8081cd5f1f1d101a16c002a365.tar.gz |
hv_netvsc: Fix a bug in netvsc_start_xmit()
Commit b08cc79155fc26d0d112b1470d1ece5034651a4b eliminated memory
allocation in the packet send path:
"hv_netvsc: Eliminate memory allocation in the packet send path
The network protocol used to communicate with the host is the remote ndis (rndis)
protocol. We need to decorate each outgoing packet with a rndis header and
additional rndis state (rndis per-packet state). To manage this state, we
currently allocate memory in the transmit path. Eliminate this allocation by
requesting additional head room in the skb."
This commit introduced a bug since it did not account for the case if the skb
was cloned. Fix this bug.
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Tested-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/hyperv/netvsc.c')
-rw-r--r-- | drivers/net/hyperv/netvsc.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c index c651d4d..2d9ef53 100644 --- a/drivers/net/hyperv/netvsc.c +++ b/drivers/net/hyperv/netvsc.c @@ -889,11 +889,6 @@ int netvsc_send(struct hv_device *device, } else { packet->page_buf_cnt = 0; packet->total_data_buflen += msd_len; - if (!packet->part_of_skb) { - skb = (struct sk_buff *)(unsigned long)packet-> - send_completion_tid; - packet->send_completion_tid = 0; - } } if (msdp->pkt) |