You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/target/linux/layerscape/patches-5.4/701-net-0128-net-dpaa-fix-b...

41 lines
1.8 KiB
Diff

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

From bd9aa7c077105fda307bbc685949d5bb01ed1bd8 Mon Sep 17 00:00:00 2001
From: Dong Aisheng <aisheng.dong@nxp.com>
Date: Sun, 29 Sep 2019 22:38:34 +0800
Subject: [PATCH] net: dpaa: fix build failure due to skb_frag_t struct change
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
We met below build break due to new kernel change:
8842d285bafa ("net: Convert skb_frag_t to bio_vec")
../drivers/net/ethernet/freescale/dpaa/dpaa_eth.c: In function dpaa_errata_a010022_has_dma_issue:
../drivers/net/ethernet/freescale/dpaa/dpaa_eth.c:2137:37: error: skb_frag_t has no member named page_offset
if (CROSS_4K_BOUND((uintptr_t)frag->page_offset, frag->bv_len))
^
../drivers/net/ethernet/freescale/dpaa/dpaa_eth.c:2105:5: note: in definition of macro CROSS_4K_BOUND
(((start) + (size)) > (((start) + 0x1000) & ~0xFFF))
^
../drivers/net/ethernet/freescale/dpaa/dpaa_eth.c:2137:37: error: skb_frag_t has no member named page_offset
if (CROSS_4K_BOUND((uintptr_t)frag->page_offset, frag->bv_len))
^
../drivers/net/ethernet/freescale/dpaa/dpaa_eth.c:2105:27: note: in definition of macro CROSS_4K_BOUND
(((start) + (size)) > (((start) + 0x1000) & ~0xFFF))
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
+++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
@@ -2141,7 +2141,7 @@ static bool dpaa_errata_a010022_has_dma_
/* Check if a paged fragment crosses a boundary from its
* offset to its end.
*/
- if (CROSS_4K_BOUND((uintptr_t)frag->page_offset, frag->bv_len))
+ if (CROSS_4K_BOUND(skb_frag_off(frag), skb_frag_size(frag)))
return true;
i++;