openwrt/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek
Petr Štetiar c8f8e59816 ramips: gsw_mt7621: disable PORT 5 MAC RX/TX flow control by default
Looking at the current upstream driver implementation, it seems like the
TX/RX flow control is enabled only if the flow control pause option is
resolved from the device/link partner advertisements (or otherwise set).

On the other hand, our current in-tree driver force enables TX/RX
flow control by default, thus possibly leading to TX timeouts if the
other end sends pause frames (which are not properly handled?):

 WARNING: CPU: 3 PID: 0 at net/sched/sch_generic.c:320 dev_watchdog+0x1ac/0x324
 NETDEV WATCHDOG: eth0 (mtk_soc_eth): transmit queue 0 timed out

Disabling the flow control on PORT 5 MAC seems to fix this issues as the
pause frames are then filtered out. While at it, I'm removing the if
condition completely as suggested, since this code is run only on mt7621
SoC, so there is no need to check for the silicon revisions.

Ref: https://lists.openwrt.org/pipermail/openwrt-devel/2017-November/009882.html
Ref: https://forum.openwrt.org/t/mtk-soc-eth-watchdog-timeout-after-r11573/50000/12
Suggested-by: Felix Fietkau <nbd@nbd.name>
Reported-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2020-02-20 15:08:06 +01:00
..
esw_rt3050.c ramips: apply LED_POLARITY rt3050-esw on MT7628AN/MT7688 2020-01-19 10:55:31 +01:00
esw_rt3050.h
ethtool.c
ethtool.h
gsw_mt7620.c ramips: mt7620: add EPHY base mdio address changing possibility 2019-06-20 08:48:19 +02:00
gsw_mt7620.h ramips: mt7620: add EPHY base mdio address changing possibility 2019-06-20 08:48:19 +02:00
gsw_mt7621.c ramips: gsw_mt7621: disable PORT 5 MAC RX/TX flow control by default 2020-02-20 15:08:06 +01:00
Kconfig
Makefile
mdio_mt7620.c
mdio_rt2880.c ramips: handle mdio address and switch port seperate 2019-06-20 08:48:19 +02:00
mdio_rt2880.h
mdio.c ramips: handle mdio address and switch port seperate 2019-06-20 08:48:19 +02:00
mdio.h ramips: handle mdio address and switch port seperate 2019-06-20 08:48:19 +02:00
mt7530.c ramips: add MT7530 switch port-mirroring support 2019-08-18 22:08:42 +08:00
mt7530.h
mtk_debugfs.c
mtk_eth_soc.c ramips: ethernet: Replace random_ether_addr with eth_hw_addr_random 2019-10-27 14:13:47 +01:00
mtk_eth_soc.h ramips: implement vlan rx offload on MT7621 2019-04-03 10:40:09 +02:00
mtk_offload.c ramips: allow packets with ttl=0 2019-03-24 12:10:15 +01:00
mtk_offload.h
soc_mt7620.c ramips: mt7620: fix external PHY autopolling 2019-06-20 08:48:19 +02:00
soc_mt7621.c ramips: implement vlan rx offload on MT7621 2019-04-03 10:40:09 +02:00
soc_rt2880.c
soc_rt3050.c
soc_rt3883.c