From 824ba5e0f96022f738d9db6ac39c18569baf0d8c Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Tue, 4 Nov 2014 19:22:45 +0000 Subject: [PATCH] Disable TSO in mv643xx_eth driver by default (Closes: #764162). This change is eventually destined for stable, but take a version of it manually for now. svn path=/dists/sid/linux/; revision=22037 --- debian/changelog | 7 +++ .../net-mv643xx-disable-tso-by-default.patch | 53 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 61 insertions(+) create mode 100644 debian/patches/bugfix/all/net-mv643xx-disable-tso-by-default.patch diff --git a/debian/changelog b/debian/changelog index 33c9f8500..210993e47 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +linux (3.16.7-2) UNRELEASED; urgency=low + + [ Ian Campbell ] + * Disable TSO in mv643xx_eth driver by default (Closes: #764162). + + -- Ian Campbell Tue, 04 Nov 2014 19:18:38 +0000 + linux (3.16.7-1) unstable; urgency=medium * New upstream stable update: diff --git a/debian/patches/bugfix/all/net-mv643xx-disable-tso-by-default.patch b/debian/patches/bugfix/all/net-mv643xx-disable-tso-by-default.patch new file mode 100644 index 000000000..5ceb7a47b --- /dev/null +++ b/debian/patches/bugfix/all/net-mv643xx-disable-tso-by-default.patch @@ -0,0 +1,53 @@ +From patchwork Sat Nov 1 15:30:20 2014 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [1/1] net: mv643xx_eth: Make TSO disabled by default +From: Ezequiel Garcia +X-Patchwork-Id: 405792 +Message-Id: <1414855820-15094-2-git-send-email-ezequiel.garcia@free-electrons.com> +To: , David Miller +Cc: Thomas Petazzoni , + Gregory Clement , + Tawfik Bayouk , Lior Amsalem , + Nadav Haklai , + Ezequiel Garcia +Date: Sat, 1 Nov 2014 12:30:20 -0300 + +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 +Reported-by: Julien D'Ascenzio +Signed-off-by: Ezequiel Garcia +--- + drivers/net/ethernet/marvell/mv643xx_eth.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c +index b151a94..8b72780 100644 +--- a/drivers/net/ethernet/marvell/mv643xx_eth.c ++++ b/drivers/net/ethernet/marvell/mv643xx_eth.c +@@ -3110,11 +3110,11 @@ static int mv643xx_eth_probe(struct platform_device *pdev) + 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; diff --git a/debian/patches/series b/debian/patches/series index 4a42000ae..c8e9da709 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -145,6 +145,7 @@ bugfix/all/net-sctp-fix-skb_over_panic-when-receiving-malformed.patch bugfix/all/net-sctp-fix-panic-on-duplicate-ASCONF-chunks.patch bugfix/all/net-sctp-fix-remote-memory-pressure-from-excessive-q.patch bugfix/all/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch +bugfix/all/net-mv643xx-disable-tso-by-default.patch # memfd_create() & kdbus backport features/all/kdbus/mm-allow-drivers-to-prevent-new-writable-mappings.patch