linux-sg2042/drivers/net/hyperv
Haiyang Zhang da24e906cb net/hyperv: Fix the code handling tx busy
Instead of dropping the packet, we keep the skb buffer, and return
NETDEV_TX_BUSY to let upper layer retry send. This will not cause
endless loop, because the host is taking data away from ring buffer,
and we have called the stop_queue before returning NETDEV_TX_BUSY.

The stop_queue was called in the function netvsc_send() in file 
netvsc.c, then it returns to rndis_filter_send(), which returns to
netvsc_start_xmit() in file netvsc_drv.c. So the NETDEV_TX_BUSY is
indeed returned AFTER queue is stopped.

Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-03-19 17:27:06 -04:00
..
Kconfig staging: hv: move hv_netvsc out of staging area 2011-11-29 16:12:36 +09:00
Makefile staging: hv: move hv_netvsc out of staging area 2011-11-29 16:12:36 +09:00
hyperv_net.h net/hyperv: Add support for vlan trunking from guests 2012-03-12 17:06:48 -07:00
netvsc.c net/hyperv: Add support for vlan trunking from guests 2012-03-12 17:06:48 -07:00
netvsc_drv.c net/hyperv: Fix the code handling tx busy 2012-03-19 17:27:06 -04:00
rndis_filter.c net/hyperv: Add support for vlan trunking from guests 2012-03-12 17:06:48 -07:00