[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>
This commit is contained in:
parent
28934eef81
commit
a3021ad0e4
|
@ -458,6 +458,7 @@ static void rtl_poll ( struct net_device *netdev ) {
|
||||||
rx_len - wrapped_len );
|
rx_len - wrapped_len );
|
||||||
memcpy ( iob_put ( rx_iob, wrapped_len ),
|
memcpy ( iob_put ( rx_iob, wrapped_len ),
|
||||||
rtl->rx.ring, wrapped_len );
|
rtl->rx.ring, wrapped_len );
|
||||||
|
iob_unput ( rx_iob, 4 ); /* Strip CRC */
|
||||||
|
|
||||||
netdev_rx ( netdev, rx_iob );
|
netdev_rx ( netdev, rx_iob );
|
||||||
} else {
|
} else {
|
||||||
|
|
Reference in New Issue