[intel] Force RX polling on VMware emulated 82545em
authorMichael Brown <mcb30@ipxe.org>
Tue, 21 Apr 2015 15:43:30 +0000 (16:43 +0100)
committerMichael Brown <mcb30@ipxe.org>
Tue, 21 Apr 2015 15:52:33 +0000 (16:52 +0100)
commit8958f62a1c85ff6b449a685a729b61b9ea69f50a
tree93c2af638cb0dbe5d2f33a1d7b4f0e14be9b6785
parent63dcab002e11123328bdbb73a475e5bc43b26b17
[intel] Force RX polling on VMware emulated 82545em

The emulated Intel 82545em in some versions of VMware (observed with
ESXi v5.1) seems to sometimes fail to set the RXT0 bit in the
interrupt cause register (ICR), causing iPXE to stop receiving
packets.  Work around this problem (for the 82545em only) by always
polling the receive queue regardless of the state of the ICR.

Reported-by: Slava Bendersky <volga629@networklab.ca>
Tested-by: Slava Bendersky <volga629@networklab.ca>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/drivers/net/intel.c
src/drivers/net/intel.h