From: Anthony L. <ali...@us...> - 2008-05-07 21:42:07
|
The current logic of the can_receive handler is to allow packets whenever the receiver is disabled or when there are descriptors available in the ring. I think the logic ought to be to allow packets whenever the receiver is enabled and there are descriptors available in the ring. Signed-off-by: Anthony Liguori <ali...@us...> diff --git a/qemu/hw/e1000.c b/qemu/hw/e1000.c index 0728539..01f8983 100644 --- a/qemu/hw/e1000.c +++ b/qemu/hw/e1000.c @@ -520,8 +520,8 @@ e1000_can_receive(void *opaque) { E1000State *s = opaque; - return (!(s->mac_reg[RCTL] & E1000_RCTL_EN) || - s->mac_reg[RDH] != s->mac_reg[RDT]); + return ((s->mac_reg[RCTL] & E1000_RCTL_EN) && + s->mac_reg[RDH] != s->mac_reg[RDT]); } static void |