Rosen Penev <[email protected]> writes: > Several users have been reporting crashing issues with the ethernet > driver. > > One source says that this is a silicon bug in mt7621: > https://github.com/openwrt/mt76/issues/211#issuecomment-569687506 > > A user that has been testing this has seen greater than 2-3 days uptime > of the ethernet interface with this change: > https://forum.openwrt.org/t/mtk-soc-eth-watchdog-timeout-after-r11573/50000/12 > > Signed-off-by: Rosen Penev <[email protected]> > --- > .../files-4.14/drivers/net/ethernet/mediatek/gsw_mt7621.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git > a/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/gsw_mt7621.c > b/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/gsw_mt7621.c > index 89be239007..bd0e555e35 100644 > --- > a/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/gsw_mt7621.c > +++ > b/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/gsw_mt7621.c > @@ -98,8 +98,8 @@ static void mt7621_hw_init(struct mt7620_gsw *gsw, struct > device_node *np) > mt7530_mdio_w32(gsw, 0x7000, 0x3); > usleep_range(10, 20); > > - if ((rt_sysc_r32(SYSC_REG_CHIP_REV_ID) & 0xFFFF) == 0x0101) { > - /* (GE1, Force 1000M/FD, FC ON, MAX_RX_LENGTH 1536) */ > + if ((rt_sysc_r32(SYSC_REG_CHIP_REV_ID) & 0xFFFF) >= 0x0101) { > + /* (GE1, Force 1000M/FD, FC OFF, MAX_RX_LENGTH 1536) */ > mtk_switch_w32(gsw, 0x2305e30b, GSW_REG_MAC_P0_MCR); > mt7530_mdio_w32(gsw, 0x3600, 0x5e30b); > } else {
If that's really helping then I believe it would be useful to add some sort of chip_rev_id printk here. Would be good to know who hits this and why... Bjørn _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
