|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] [PATCH] only check RCTL_EN in e1000_can_receive() |
Date: | Wed, 06 Aug 2008 09:13:15 -0500 |
User-agent: | Thunderbird 2.0.0.14 (X11/20080501) |
Charles Duffy wrote:
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.The attached quick-and-dirty patch fixes etherboot for e1000, and does not appear to break post-boot functionality.
While this is a legitimate bug, it's probably only present in KVM or when using the slirp rate limiting. Right in QEMU, a can_receive handler for a network card is largely ignored whereas in KVM, it is used to throttle receive for the tap device.
Nonetheless, the correct behaviour is to raise an interrupt when a packet could be received but no buffers are available so I've applied this patch. Thanks.
Regards, Anthony Liguori
[Prev in Thread] | Current Thread | [Next in Thread] |