diff options
author | Haiyang Zhang <[email protected]> | 2012-03-19 17:27:06 -0400 |
---|---|---|
committer | David S. Miller <[email protected]> | 2012-03-19 17:27:06 -0400 |
commit | da24e906cbfc08171d24a2b7cf66fad565fdd121 (patch) | |
tree | 4ce4464bb570ed4ff67298b724ef676000e4b08a /net/lapb/lapb_out.c | |
parent | f24fd89ab5148d00f58aaf1d8999e9966fc7215c (diff) |
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 <[email protected]>
Reviewed-by: K. Y. Srinivasan <[email protected]>
Acked-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'net/lapb/lapb_out.c')
0 files changed, 0 insertions, 0 deletions