OSDN Git Service

only check RCTL_EN in e1000_can_receive()
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 6 Aug 2008 14:11:44 +0000 (14:11 +0000)
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 6 Aug 2008 14:11:44 +0000 (14:11 +0000)
e1000_receive() has code to raise a receive overflow interrupt when the receive
buffer head and tail match. However, with the present implementation of
e1000_can_receive(), this code is unreachable -- and etherboot breaks as a
result.

Signed-off-by: Charles Duffy <charles_duffy@messageone.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4987 c046a42c-6fe2-441c-8c8c-71466251a162

hw/e1000.c

index d81d9be..d52f1f0 100644 (file)
@@ -524,8 +524,7 @@ 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);
 }
 
 static void