From 564fdae9681f8287d76dfe5a22b34d5dc9634acc Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 27 May 2015 14:56:13 +0000 Subject: [PATCH] kirkwood: disable TSO on the ethernet device by default, fixes data corruption issues (#19735) Signed-off-by: Felix Fietkau SVN-Revision: 45776 --- .../patches-3.18/200-disable-tso.patch | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 target/linux/kirkwood/patches-3.18/200-disable-tso.patch 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 00000000000..4e8126e8c2e --- /dev/null +++ b/target/linux/kirkwood/patches-3.18/200-disable-tso.patch @@ -0,0 +1,35 @@ +From: Ezequiel Garcia +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 gmail.com> +Reported-by: Julien D'Ascenzio yahoo.fr> +Signed-off-by: Ezequiel Garcia 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;