mediatek: Add support for Xiaomi Redmi Router AX6S
[openwrt/staging/hauke.git] / target / linux / layerscape / patches-5.4 / 701-net-0023-sdk_dpaa-ls1043a-errata-realign-skb-in-place-if-need.patch
1 From 5a2ba8a9c6b2686aa94a8d5ac35beddf38cba24a Mon Sep 17 00:00:00 2001
2 From: Camelia Groza <camelia.groza@nxp.com>
3 Date: Mon, 4 Sep 2017 13:46:00 +0300
4 Subject: [PATCH] sdk_dpaa: ls1043a errata: realign skb in place if needed
5
6 Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
7 ---
8 drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c | 8 +++++---
9 1 file changed, 5 insertions(+), 3 deletions(-)
10
11 --- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c
12 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c
13 @@ -1024,7 +1024,6 @@ int __hot dpa_tx_extended(struct sk_buff
14 #endif /* CONFIG_FSL_DPAA_TS */
15
16 #ifndef CONFIG_PPC
17 -realign_4k:
18 if (unlikely(dpaa_errata_a010022) && a010022_check_skb(skb)) {
19 skb = a010022_realign_skb(skb);
20 if (!skb)
21 @@ -1073,8 +1072,11 @@ realign_4k:
22 skb = nskb;
23 #ifndef CONFIG_PPC
24 if (unlikely(dpaa_errata_a010022) &&
25 - a010022_check_skb(skb))
26 - goto realign_4k;
27 + a010022_check_skb(skb)) {
28 + skb = realign_skb(skb);
29 + if (!skb)
30 + goto skb_to_fd_failed;
31 + }
32 #endif
33 /* skb_copy() has now linearized the skbuff. */
34 } else if (unlikely(nonlinear)) {