diff options
author | Michael Brown | 2013-07-15 12:15:48 +0200 |
---|---|---|
committer | Michael Brown | 2013-07-15 12:19:37 +0200 |
commit | 918fb437439d1bfb172e7fbdfc03b2b25664bee7 (patch) | |
tree | 6b98b7f90d354f648861de45ed7b2fe13723aea0 | |
parent | [settings] Add support for navigation keys in "config" user interface (diff) | |
download | ipxe-918fb437439d1bfb172e7fbdfc03b2b25664bee7.tar.gz ipxe-918fb437439d1bfb172e7fbdfc03b2b25664bee7.tar.xz ipxe-918fb437439d1bfb172e7fbdfc03b2b25664bee7.zip |
[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>
-rw-r--r-- | src/drivers/net/realtek.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/drivers/net/realtek.h b/src/drivers/net/realtek.h index 1cd85d95..a17f963f 100644 --- a/src/drivers/net/realtek.h +++ b/src/drivers/net/realtek.h @@ -226,7 +226,8 @@ enum realtek_legacy_status { #define RTL_NUM_RX_DESC 4 /** 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 */ struct realtek_ring { |