diff options
author | Thomas Miletich | 2013-08-19 13:36:27 +0200 |
---|---|---|
committer | Michael Brown | 2013-08-20 15:38:33 +0200 |
commit | 6d72b498c2b20b8e833bfce99c30d70d6950d335 (patch) | |
tree | 817548144393b63142b0aadf9e317570a433d2d6 /src/drivers/net/3c90x.c | |
parent | [3c90x] Don't round up transmit packet length (diff) | |
download | ipxe-6d72b498c2b20b8e833bfce99c30d70d6950d335.tar.gz ipxe-6d72b498c2b20b8e833bfce99c30d70d6950d335.tar.xz ipxe-6d72b498c2b20b8e833bfce99c30d70d6950d335.zip |
[3c90x] Fix High-MTU packet reception
Prevent the card from flagging packets of 1518 bytes length as
overlength.
This fixes the High-MTU loopback test.
Signed-off-by: Thomas Miletich <thomas.miletich@gmail.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/net/3c90x.c')
-rw-r--r-- | src/drivers/net/3c90x.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/drivers/net/3c90x.c b/src/drivers/net/3c90x.c index 364492bb..853de2b5 100644 --- a/src/drivers/net/3c90x.c +++ b/src/drivers/net/3c90x.c @@ -822,6 +822,10 @@ static int a3c90x_open(struct net_device *netdev) a3c90x_internal_IssueCommand(inf_3c90x->IOAddr, cmdStallCtl, upUnStall); + /* set maximum allowed receive packet length */ + a3c90x_internal_SetWindow(inf_3c90x, winTxRxOptions3); + outl(RX_BUF_SIZE, inf_3c90x->IOAddr + regMaxPktSize_3_w); + /* enable packet transmission and reception */ a3c90x_internal_IssueCommand(inf_3c90x->IOAddr, cmdTxEnable, 0); a3c90x_internal_IssueCommand(inf_3c90x->IOAddr, cmdRxEnable, 0); |