cxgb3: FIx VLAN over Jumbo frames
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 <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d41a5b7da2
commit
38a8fc0fcf
1 changed files with 3 additions and 0 deletions
|
@ -353,6 +353,9 @@ int t3_mac_set_mtu(struct cmac *mac, unsigned int mtu)
|
||||||
* packet size register includes header, but not FCS.
|
* packet size register includes header, but not FCS.
|
||||||
*/
|
*/
|
||||||
mtu += 14;
|
mtu += 14;
|
||||||
|
if (mtu > 1536)
|
||||||
|
mtu += 4;
|
||||||
|
|
||||||
if (mtu > MAX_FRAME_SIZE - 4)
|
if (mtu > MAX_FRAME_SIZE - 4)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
t3_write_reg(adap, A_XGM_RX_MAX_PKT_SIZE + mac->offset, mtu);
|
t3_write_reg(adap, A_XGM_RX_MAX_PKT_SIZE + mac->offset, mtu);
|
||||||
|
|
Loading…
Add table
Reference in a new issue