From bf16cc8f97ff57db191eec73346ba0333ade342b Mon Sep 17 00:00:00 2001 From: aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> Date: Fri, 20 Mar 2009 16:13:47 +0000 Subject: [PATCH] e1000: Fix RX descriptor low threshold interrupt logic (Alex Williamson) --- hw/e1000.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/e1000.c b/hw/e1000.c index e6155d6..1644201 100644 --- a/hw/e1000.c +++ b/hw/e1000.c @@ -666,8 +666,8 @@ e1000_receive(void *opaque, const uint8_t *buf, int size) n = E1000_ICS_RXT0; if ((rdt = s->mac_reg[RDT]) < s->mac_reg[RDH]) rdt += s->mac_reg[RDLEN] / sizeof(desc); - if (((rdt - s->mac_reg[RDH]) * sizeof(desc)) << s->rxbuf_min_shift >= - s->mac_reg[RDLEN]) + if (((rdt - s->mac_reg[RDH]) * sizeof(desc)) <= s->mac_reg[RDLEN] >> + s->rxbuf_min_shift) n |= E1000_ICS_RXDMT0; set_ics(s, 0, n); -- libgit2 0.23.3