summaryrefslogtreecommitdiffstats
path: root/drivers/staging/hv/netvsc_drv.c
diff options
context:
space:
mode:
authorHaiyang Zhang2011-09-01 21:19:45 +0200
committerGreg Kroah-Hartman2011-09-06 20:56:19 +0200
commit8a5f9edc4dd6c1f9fb2446a36e7cd44b79412271 (patch)
treec33e6ea5a0408846b933095ddc678f670fe2fcd3 /drivers/staging/hv/netvsc_drv.c
parentstaging: hv: fix counting of #outstanding-sends in failed sends (diff)
downloadkernel-qcow2-linux-8a5f9edc4dd6c1f9fb2446a36e7cd44b79412271.tar.gz
kernel-qcow2-linux-8a5f9edc4dd6c1f9fb2446a36e7cd44b79412271.tar.xz
kernel-qcow2-linux-8a5f9edc4dd6c1f9fb2446a36e7cd44b79412271.zip
staging: hv: fix counting of available buffer slots when send fails
Because the number of available buffer slots doesn't decrease for failed sends, we should not call netvsc_xmit_completion(), which increase the count of available slots. In this failed case, just free the memory is enough. Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/hv/netvsc_drv.c')
-rw-r--r--drivers/staging/hv/netvsc_drv.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/staging/hv/netvsc_drv.c b/drivers/staging/hv/netvsc_drv.c
index b49a08f4ed5a..81e3c496e28e 100644
--- a/drivers/staging/hv/netvsc_drv.c
+++ b/drivers/staging/hv/netvsc_drv.c
@@ -190,7 +190,8 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net)
} else {
/* we are shutting down or bus overloaded, just drop packet */
net->stats.tx_dropped++;
- netvsc_xmit_completion(packet);
+ kfree(packet);
+ dev_kfree_skb_any(skb);
}
return NETDEV_TX_OK;