diff options
author | Haiyang Zhang | 2011-09-01 21:19:45 +0200 |
---|---|---|
committer | Greg Kroah-Hartman | 2011-09-06 20:56:19 +0200 |
commit | 8a5f9edc4dd6c1f9fb2446a36e7cd44b79412271 (patch) | |
tree | c33e6ea5a0408846b933095ddc678f670fe2fcd3 /drivers/staging/hv/netvsc_drv.c | |
parent | staging: hv: fix counting of #outstanding-sends in failed sends (diff) | |
download | kernel-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.c | 3 |
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; |