layerscape: add patches-5.4
[openwrt/staging/wigyori.git] / target / linux / layerscape / patches-5.4 / 701-net-0081-sdk_dpaa-ls1043a-errata-align-skb_shinfo.patch
diff --git a/target/linux/layerscape/patches-5.4/701-net-0081-sdk_dpaa-ls1043a-errata-align-skb_shinfo.patch b/target/linux/layerscape/patches-5.4/701-net-0081-sdk_dpaa-ls1043a-errata-align-skb_shinfo.patch
new file mode 100644 (file)
index 0000000..3c224c6
--- /dev/null
@@ -0,0 +1,27 @@
+From 7c96998ebc8cc9c71216b80de3f77114f29b148a Mon Sep 17 00:00:00 2001
+From: Camelia Groza <camelia.groza@nxp.com>
+Date: Mon, 17 Sep 2018 12:39:24 +0300
+Subject: [PATCH] sdk_dpaa: ls1043a errata: align skb_shinfo
+
+Make sure the skb shared info is cache-line aligned when realigning
+egress frames.
+
+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
+@@ -830,8 +830,10 @@ static struct sk_buff *a010022_realign_s
+       /* For the new skb we only need the old one's data (both non-paged and
+        * paged). We can skip the old tailroom.
++       *
++       * Make sure the skb_shinfo is cache-line aligned.
+        */
+-      nsize = headroom + skb->len +
++      nsize = SMP_CACHE_BYTES + DPA_SKB_SIZE(headroom + skb->len) +
+               SKB_DATA_ALIGN(sizeof(struct skb_shared_info));
+       /* Reserve enough memory to accommodate Jumbo frames */