diff options
author | Felix Fietkau <nbd@openwrt.org> | 2015-05-27 14:56:13 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2015-05-27 14:56:13 +0000 |
commit | c3e4dc503991873b627fc6a5951a6049b4e4cfb9 (patch) | |
tree | 4932ea42002e5008be84ad2188c497bddde66bca /target/linux/kirkwood | |
parent | b44b5dbb35327b57245ee5c726afc0d5c2161a9f (diff) | |
download | upstream-c3e4dc503991873b627fc6a5951a6049b4e4cfb9.tar.gz upstream-c3e4dc503991873b627fc6a5951a6049b4e4cfb9.tar.bz2 upstream-c3e4dc503991873b627fc6a5951a6049b4e4cfb9.zip |
kirkwood: disable TSO on the ethernet device by default, fixes data corruption issues (#19735)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45776 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/kirkwood')
-rw-r--r-- | target/linux/kirkwood/patches-3.18/200-disable-tso.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/target/linux/kirkwood/patches-3.18/200-disable-tso.patch b/target/linux/kirkwood/patches-3.18/200-disable-tso.patch new file mode 100644 index 0000000000..4e8126e8c2 --- /dev/null +++ b/target/linux/kirkwood/patches-3.18/200-disable-tso.patch @@ -0,0 +1,35 @@ +From: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> +Subject: [PATCH] net: mv643xx_eth: Make TSO disabled by default + +Data corruption has been observed to be produced by TSO. For instance, +accessing files on a NFS-server with TSO enabled results in different data +transferred each time. + +This has been observed only on Kirkwood platforms, i.e. with the mv643xx_eth +driver. Same tests on platforms using the mvneta ethernet driver have +passed without errors. + +Make TSO disabled by default for now, until we can found a proper fix +for the regression. + +Fixes: 3ae8f4e0b98 ('net: mv643xx_eth: Implement software TSO') +Reported-by: Slawomir Gajzner <slawomir.gajzner <at> gmail.com> +Reported-by: Julien D'Ascenzio <jdascenzio <at> yahoo.fr> +Signed-off-by: Ezequiel Garcia <ezequiel.garcia <at> free-electrons.com> +--- +--- a/drivers/net/ethernet/marvell/mv643xx_eth.c ++++ b/drivers/net/ethernet/marvell/mv643xx_eth.c +@@ -3112,11 +3112,11 @@ static int mv643xx_eth_probe(struct plat + dev->watchdog_timeo = 2 * HZ; + dev->base_addr = 0; + +- dev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO; ++ dev->features = NETIF_F_SG | NETIF_F_IP_CSUM; + dev->vlan_features = dev->features; + + dev->features |= NETIF_F_RXCSUM; +- dev->hw_features = dev->features; ++ dev->hw_features = dev->features | NETIF_F_TSO; + + dev->priv_flags |= IFF_UNICAST_FLT; + dev->gso_max_segs = MV643XX_MAX_TSO_SEGS; |