summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBaptiste Jonglez <git@bitsofnetworks.org>2021-02-15 10:12:59 +0100
committerBaptiste Jonglez <git@bitsofnetworks.org>2021-02-15 10:12:59 +0100
commitf8b849103dfe1b21a6462837efc9460ca3cca02d (patch)
tree8a577fea8d7ed1710a0ed2aebe80a9b54d02ebfa
parentfec1aa6dfbcea5fdcaa35ec441de6fdd750b4d1a (diff)
downloadopenwrt-f8b849103dfe1b21a6462837efc9460ca3cca02d.tar.gz
openwrt-f8b849103dfe1b21a6462837efc9460ca3cca02d.tar.bz2
openwrt-f8b849103dfe1b21a6462837efc9460ca3cca02d.zip
ramips: ethernet: Disable TSO support to improve stability
Stability of this Ethernet driver has been a long-standing issue, with many people reporting frequent "transmit queue timeouts" and even occasional crashes. Disabling TSO in the driver helps with stability, although it is likely a workaround and might not fix the issue completely. There is a slight slowdown in forwarding performance for TCP packets (75 kpps vs. 80 kpps with comparable CPU utilization), but this is still enough to forward close to 1 Gbit/s of full-sized packets across multiple flows. Master is using a different ethernet driver, so this is not a backport. Because of this different driver, the upcoming 21.02 release does not seem to be affected by these stability issues. Thanks to mrakotiq for the initial patch. Fixes: FS#2628 Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
-rw-r--r--target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/soc_mt7621.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/soc_mt7621.c b/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/soc_mt7621.c
index 26a198fa2b..3d2866af3a 100644
--- a/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/soc_mt7621.c
+++ b/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/soc_mt7621.c
@@ -143,8 +143,7 @@ static void mt7621_init_data(struct fe_soc_data *data,
netdev->hw_features = NETIF_F_IP_CSUM | NETIF_F_RXCSUM |
NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX |
- NETIF_F_SG | NETIF_F_TSO |
- NETIF_F_TSO6 | NETIF_F_IPV6_CSUM |
+ NETIF_F_SG | NETIF_F_IPV6_CSUM |
NETIF_F_TSO_MANGLEID;
}