diff --git a/debian/changelog b/debian/changelog index e97868204..fce28372c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -148,6 +148,8 @@ linux (3.16.7-ckt3-1) UNRELEASED; urgency=medium Merker (Closes: #774067) * [xen] More netback fixes (including reintroducing support for feature-rx-notify, which was regressed by the fix to #767261). + * Disable TSO in mv643xx_eth driver by default again, since previous fix + appears to not work on all platforms (Closes: #764162). -- Ben Hutchings Sat, 13 Dec 2014 11:45:48 +0000 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 fe26bbb22..76bef6eb2 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -163,6 +163,7 @@ bugfix/all/isofs-fix-unchecked-printing-of-er-records.patch bugfix/all/move-d_rcu-from-overlapping-d_child-to-overlapping-d.patch bugfix/all/aufs-move-d_rcu-from-overlapping-d_child-to-overlapping-d.patch bugfix/all/deal-with-deadlock-in-d_walk.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