From: Michael Brown Date: Fri, 3 Sep 2010 15:16:18 +0000 (+0100) Subject: [rtl8139] Strip CRC from received packets X-Git-Tag: v1.20.1~2551 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a3021ad0e42275f0c0e6c5205746c69ab63b8dfd;p=thirdparty%2Fipxe.git [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 --- diff --git a/src/drivers/net/rtl8139.c b/src/drivers/net/rtl8139.c index 208db0975..d5fb178fd 100644 --- a/src/drivers/net/rtl8139.c +++ b/src/drivers/net/rtl8139.c @@ -458,6 +458,7 @@ static void rtl_poll ( struct net_device *netdev ) { rx_len - wrapped_len ); memcpy ( iob_put ( rx_iob, wrapped_len ), rtl->rx.ring, wrapped_len ); + iob_unput ( rx_iob, 4 ); /* Strip CRC */ netdev_rx ( netdev, rx_iob ); } else {