Browse Source

[rtl8139] Strip CRC from received packets

The rtl8139 driver includes the Ethernet CRC within the received
packet.  All current protocols ignore trailing garbage, but FCoE
requires the frame length to be correct (since the FCoE footer
position is calculated from the end of the packet), so fix the driver
to strip out the CRC.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown 14 years ago
parent
commit
a3021ad0e4
1 changed files with 1 additions and 0 deletions
  1. 1
    0
      src/drivers/net/rtl8139.c

+ 1
- 0
src/drivers/net/rtl8139.c View File

458
 				 rx_len - wrapped_len );
458
 				 rx_len - wrapped_len );
459
 			memcpy ( iob_put ( rx_iob, wrapped_len ),
459
 			memcpy ( iob_put ( rx_iob, wrapped_len ),
460
 				 rtl->rx.ring, wrapped_len );
460
 				 rtl->rx.ring, wrapped_len );
461
+			iob_unput ( rx_iob, 4 ); /* Strip CRC */
461
 
462
 
462
 			netdev_rx ( netdev, rx_iob );
463
 			netdev_rx ( netdev, rx_iob );
463
 		} else {
464
 		} else {

Loading…
Cancel
Save