From c315ae039424ad53c0a6c01c93eb0444ab8bfb37 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Sat, 12 Mar 2011 12:48:29 +0000 Subject: [PATCH] [eepro100] Do not discard short packets In a virtual environment such as qemu, we can legitimately receive packets less than 64 bytes in length, such as ARP replies. These are currently discarded, causing most IPv4 communication to fail. Fix by ignoring the RFDShort bit when receiving packets. Reported-by: Alex Williamson Signed-off-by: Michael Brown --- src/drivers/net/eepro100.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/drivers/net/eepro100.c b/src/drivers/net/eepro100.c index 50214ecc..85840cdf 100644 --- a/src/drivers/net/eepro100.c +++ b/src/drivers/net/eepro100.c @@ -808,7 +808,7 @@ static void ifec_rx_process ( struct net_device *netdev ) cur_rx ); DBGIO_HD ( (void*)rfd->packet, 0x30 ); - if ( ( status & RFD_STATUS ) != RFD_OK ) { + if ( ( status & ( RFD_STATUS & ~RFDShort ) ) != RFD_OK ) { DBG ( "Corrupted packet received. " "Status = %#08hx\n", status ); netdev_rx_err ( netdev, iob, -EINVAL );