Skip to content

Commit

Permalink
[realtek] Allow extra space in RX buffers
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
mcb30 committed Jul 15, 2013
1 parent 75bd5b5 commit 918fb43
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/drivers/net/realtek.h
Expand Up @@ -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 {
Expand Down

0 comments on commit 918fb43

Please sign in to comment.