2010-02-13 19:44:35

by Divy Le ray

[permalink] [raw]
Subject: [PATCH net-next-2.6 1/2] cxgb3: FIx VLAN over Jumbo frames

From: Divy Le Ray <[email protected]>

The mac is expected to auto-inflate the Maximum Frame size for VLAN
tagged frames. It however does not work with jumbo frames.
Work around the bug adding 4 to the Maximum Frame for MTUs
greater than 1536.

Signed-off-by: Divy Le Ray <[email protected]>
---

drivers/net/cxgb3/xgmac.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)


diff --git a/drivers/net/cxgb3/xgmac.c b/drivers/net/cxgb3/xgmac.c
index 0109ee4..0c08de5 100644
--- a/drivers/net/cxgb3/xgmac.c
+++ b/drivers/net/cxgb3/xgmac.c
@@ -353,6 +353,9 @@ int t3_mac_set_mtu(struct cmac *mac, unsigned int mtu)
* packet size register includes header, but not FCS.
*/
mtu += 14;
+ if (mtu > 1536)
+ mtu += 4;
+
if (mtu > MAX_FRAME_SIZE - 4)
return -EINVAL;
t3_write_reg(adap, A_XGM_RX_MAX_PKT_SIZE + mac->offset, mtu);


2010-02-13 19:44:41

by Divy Le ray

[permalink] [raw]
Subject: [PATCH net-next-2.6 2/2] cxgb3: fix link flap

From: Divy Le Ray <[email protected]>

The driver is expected to report that the link is up
when the phy Rx signal is established and the mac
has not detected a link fault.
The code is however broken, the driver does not check the link fault
status when the phy link status changes.
The link fault status being checked within a short period of time,
it leads to link up/link down events.

Signed-off-by: Divy Le Ray <[email protected]>
---

drivers/net/cxgb3/t3_hw.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)


diff --git a/drivers/net/cxgb3/t3_hw.c b/drivers/net/cxgb3/t3_hw.c
index 032cfe0..3ab9f51 100644
--- a/drivers/net/cxgb3/t3_hw.c
+++ b/drivers/net/cxgb3/t3_hw.c
@@ -1262,7 +1262,8 @@ void t3_link_changed(struct adapter *adapter, int port_id)
lc->fc = fc;
}

- t3_os_link_changed(adapter, port_id, link_ok, speed, duplex, fc);
+ t3_os_link_changed(adapter, port_id, link_ok && !pi->link_fault,
+ speed, duplex, fc);
}

void t3_link_fault(struct adapter *adapter, int port_id)

2010-02-16 05:52:53

by David Miller

[permalink] [raw]
Subject: Re: [PATCH net-next-2.6 1/2] cxgb3: FIx VLAN over Jumbo frames

From: Divy Le Ray <[email protected]>
Date: Sat, 13 Feb 2010 11:44:30 -0800

> From: Divy Le Ray <[email protected]>
>
> The mac is expected to auto-inflate the Maximum Frame size for VLAN
> tagged frames. It however does not work with jumbo frames.
> Work around the bug adding 4 to the Maximum Frame for MTUs
> greater than 1536.
>
> Signed-off-by: Divy Le Ray <[email protected]>

Applied.

2010-02-16 05:53:04

by David Miller

[permalink] [raw]
Subject: Re: [PATCH net-next-2.6 2/2] cxgb3: fix link flap

From: Divy Le Ray <[email protected]>
Date: Sat, 13 Feb 2010 11:44:35 -0800

> From: Divy Le Ray <[email protected]>
>
> The driver is expected to report that the link is up
> when the phy Rx signal is established and the mac
> has not detected a link fault.
> The code is however broken, the driver does not check the link fault
> status when the phy link status changes.
> The link fault status being checked within a short period of time,
> it leads to link up/link down events.
>
> Signed-off-by: Divy Le Ray <[email protected]>

Applied.