Home Home > GIT Browse > stable
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiri Slaby <jslaby@suse.cz>2019-05-17 06:38:43 +0200
committerJiri Slaby <jslaby@suse.cz>2019-05-17 06:38:48 +0200
commita19202faf578a9440ba4c2300e5a47bef80917d1 (patch)
tree6a666e36abff440b376f8623c6c44029921692a9
parent97fac0bc0bfabf08bc3b936eaaf8df5a372303e0 (diff)
dpaa_eth: fix SG frame cleanup (bnc#1012628).
-rw-r--r--patches.kernel.org/5.1.3-016-dpaa_eth-fix-SG-frame-cleanup.patch38
-rw-r--r--series.conf1
2 files changed, 39 insertions, 0 deletions
diff --git a/patches.kernel.org/5.1.3-016-dpaa_eth-fix-SG-frame-cleanup.patch b/patches.kernel.org/5.1.3-016-dpaa_eth-fix-SG-frame-cleanup.patch
new file mode 100644
index 0000000000..9af77eaedd
--- /dev/null
+++ b/patches.kernel.org/5.1.3-016-dpaa_eth-fix-SG-frame-cleanup.patch
@@ -0,0 +1,38 @@
+From: Laurentiu Tudor <laurentiu.tudor@nxp.com>
+Date: Fri, 3 May 2019 16:03:11 +0300
+Subject: [PATCH] dpaa_eth: fix SG frame cleanup
+References: bnc#1012628
+Patch-mainline: 5.1.3
+Git-commit: 17170e6570c082717c142733d9a638bcd20551f8
+
+[ Upstream commit 17170e6570c082717c142733d9a638bcd20551f8 ]
+
+Fix issue with the entry indexing in the sg frame cleanup code being
+off-by-1. This problem showed up when doing some basic iperf tests and
+manifested in traffic coming to a halt.
+
+Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
+Acked-by: Madalin Bucur <madalin.bucur@nxp.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Signed-off-by: Jiri Slaby <jslaby@suse.cz>
+---
+ drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
+index dfebc30c4841..d3f2408dc9e8 100644
+--- a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
++++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
+@@ -1648,7 +1648,7 @@ static struct sk_buff *dpaa_cleanup_tx_fd(const struct dpaa_priv *priv,
+ qm_sg_entry_get_len(&sgt[0]), dma_dir);
+
+ /* remaining pages were mapped with skb_frag_dma_map() */
+- for (i = 1; i < nr_frags; i++) {
++ for (i = 1; i <= nr_frags; i++) {
+ WARN_ON(qm_sg_entry_is_ext(&sgt[i]));
+
+ dma_unmap_page(dev, qm_sg_addr(&sgt[i]),
+--
+2.21.0
+
diff --git a/series.conf b/series.conf
index 1d0b7c34e4..492117899f 100644
--- a/series.conf
+++ b/series.conf
@@ -101,6 +101,7 @@
patches.kernel.org/5.1.3-013-Don-t-jump-to-compute_result-state-from-check_r.patch
patches.kernel.org/5.1.3-014-bonding-fix-arp_validate-toggling-in-active-bac.patch
patches.kernel.org/5.1.3-015-bridge-Fix-error-path-for-kobject_init_and_add.patch
+ patches.kernel.org/5.1.3-016-dpaa_eth-fix-SG-frame-cleanup.patch
########################################################
# Build fixes that apply to the vanilla kernel too.