[realtek] Allow extra space in RX buffers

Some hardware (observed with an onboard RTL8168) will erroneously
report a buffer overflow error if the received packet exactly fills
the receive buffer.

Fix by adding an extra four bytes of padding to each receive buffer.

Debugged-by: Thomas Miletich <thomas.miletich@gmail.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2013-07-15 12:15:48 +02:00
parent 75bd5b54a8
commit 918fb43743

View File

@@ -226,7 +226,8 @@ enum realtek_legacy_status {
#define RTL_NUM_RX_DESC 4 #define RTL_NUM_RX_DESC 4
/** Receive buffer length */ /** Receive buffer length */
#define RTL_RX_MAX_LEN ( ETH_FRAME_LEN + 4 /* VLAN */ + 4 /* CRC */ ) #define RTL_RX_MAX_LEN \
( ETH_FRAME_LEN + 4 /* VLAN */ + 4 /* CRC */ + 4 /* extra space */ )
/** A Realtek descriptor ring */ /** A Realtek descriptor ring */
struct realtek_ring { struct realtek_ring {