From 6d72b498c2b20b8e833bfce99c30d70d6950d335 Mon Sep 17 00:00:00 2001 From: Thomas Miletich Date: Mon, 19 Aug 2013 13:36:27 +0200 Subject: [PATCH] [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 Signed-off-by: Michael Brown --- src/drivers/net/3c90x.c | 4 ++++ 1 file changed, 4 insertions(+) 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);