Il 24/08/2012 09:56, rongqing...@windriver.com ha scritto:
> Only one hub port's peer can_receive() returns 1, the source
> hub port .can_receive should return 1, to fix the below bug:
> 
>     The up state NIC can not receive any packets if guest has
>     more than two NICs and only one NIC is in down state.
>     http://lists.nongnu.org/archive/html/qemu-discuss/2012-08/msg00036.html
> 
> This bug is introduced by 52a3cb8(add the support for hub
> own flow control) and 60c07d93 (fix qemu_can_send_packet logic),
> they are tried to fix that usb NIC lost packets by blocking hub
> receive until all port attached this hub can receive since usb
> NIC only can accept one packet at one time, their logic is wrong,
> we should fix it by creating a queue for usb NIC.

A link-down NIC should always return 1 from can_receive (and will drop
the packet).  Is that the real bug here?

Paolo


Reply via email to