aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/701-net-0010-dpaa_eth-ls1043a-errata-check-if-the-skb-is-linear-a.patch
blob: e601766bd963add2d372b6c142d1f58e3aa35eb2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
From 62fbf7ebdc28867ae613c3be9c62b30bc36edb1d Mon Sep 17 00:00:00 2001
From: Camelia Groza <camelia.groza@nxp.com>
Date: Mon, 27 Feb 2017 17:35:24 +0200
Subject: [PATCH] dpaa_eth: ls1043a errata: check if the skb is linear after 4k
 splitting

Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
---
 drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c
+++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c
@@ -993,7 +993,7 @@ int __hot dpa_tx_extended(struct sk_buff
 	struct dpa_percpu_priv_s *percpu_priv;
 	struct rtnl_link_stats64 *percpu_stats;
 	int err = 0;
-	const bool nonlinear = skb_is_nonlinear(skb);
+	bool nonlinear;
 	int *countptr, offset = 0;
 
 	priv = netdev_priv(net_dev);
@@ -1023,6 +1023,8 @@ int __hot dpa_tx_extended(struct sk_buff
 	}
 #endif
 
+	nonlinear = skb_is_nonlinear(skb);
+
 	/* MAX_SKB_FRAGS is larger than our DPA_SGT_MAX_ENTRIES; make sure
 	 * we don't feed FMan with more fragments than it supports.
 	 * Btw, we're using the first sgt entry to store the linear part of