OSDN Git Service

net: fix usbnet_receive() packet drops
authorStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Fri, 24 Aug 2012 12:37:29 +0000 (13:37 +0100)
committerStefan Hajnoczi <stefanha@gmail.com>
Fri, 14 Sep 2012 07:40:32 +0000 (08:40 +0100)
commit190563f9a90c9df8ad32fc7f3e4b166deda949a6
treeca63d94cd6b874adb7cf79b4070fab496a6f7c0b
parentf237ddbb89142c6948a2257c459e49dee7500a7c
net: fix usbnet_receive() packet drops

The USB network interface has a single buffer which the guest reads
from.  This patch prevents multiple calls to usbnet_receive() from
clobbering the input buffer.  Instead we queue packets until buffer
space becomes available again.

This is inspired by virtio-net and e1000 rxbuf handling.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
hw/usb/dev-network.c