]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[3c90x] Fix High-MTU packet reception
authorThomas Miletich <thomas.miletich@gmail.com>
Mon, 19 Aug 2013 11:36:27 +0000 (13:36 +0200)
committerMichael Brown <mcb30@ipxe.org>
Tue, 20 Aug 2013 13:38:33 +0000 (14:38 +0100)
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>
src/drivers/net/3c90x.c

index 364492bbc740e8e2dd2fa9dc4ceda52b195ebbb6..853de2b5228b42357af8df01f3abf45e897d8256 100644 (file)
@@ -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);