ソースを参照

[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 <alex.williamson@redhat.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown 13年前
コミット
c315ae0394
1個のファイルの変更1行の追加1行の削除
  1. 1
    1
      src/drivers/net/eepro100.c

+ 1
- 1
src/drivers/net/eepro100.c ファイルの表示

@@ -808,7 +808,7 @@ static void ifec_rx_process ( struct net_device *netdev )
808 808
 		       cur_rx );
809 809
 		DBGIO_HD ( (void*)rfd->packet, 0x30 );
810 810
 
811
-		if ( ( status & RFD_STATUS ) != RFD_OK ) {
811
+		if ( ( status & ( RFD_STATUS & ~RFDShort ) ) != RFD_OK ) {
812 812
 			DBG ( "Corrupted packet received. "
813 813
 			      "Status = %#08hx\n", status );
814 814
 			netdev_rx_err ( netdev, iob, -EINVAL );

読み込み中…
キャンセル
保存