@@ -602,12 +602,12 @@ static void gsw_hw_init_mt7621(struct mt7620_gsw *gsw, struct device_node *np)
udelay(10);
if ((rt_sysc_r32(SYSC_REG_CHIP_REV_ID) & 0xFFFF) == 0x0101) {
- /* (GE1, Force 1000M/FD, FC ON) */
- gsw_w32(gsw, 0x2005e30b, 0x100);
+ /* (GE1, Force 1000M/FD, FC ON, MAX_RX_LENGTH 1536) */
+ gsw_w32(gsw, 0x2105e30b, 0x100);
mt7530_mdio_w32(gsw, 0x3600, 0x5e30b);
} else {
- /* (GE1, Force 1000M/FD, FC ON) */
- gsw_w32(gsw, 0x2005e33b, 0x100);
+ /* (GE1, Force 1000M/FD, FC ON, MAX_RX_LENGTH 1536) */
+ gsw_w32(gsw, 0x2105e33b, 0x100);
mt7530_mdio_w32(gsw, 0x3600, 0x5e33b);
}
The default switch frame size (with FCS + header) is 1536 bytes. But the GMAC only accepted frames up to 1522 bytes. Setting it to 1536 allows to receive ethernet frames using the full of MTU 1500 + an extra VLAN header + VLAN header added by the switch. Signed-off-by: Sven Eckelmann <sven@open-mesh.com> --- .../linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620a.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)