Message ID | 1563975157-30691-1-git-send-email-cai@lca.pw |
---|---|
State | Changes Requested |
Delegated to: | David Miller |
Headers | show |
Series | [-next] net/ixgbevf: fix a compilation error of skb_frag_t | expand |
On Wed, Jul 24, 2019 at 09:32:37AM -0400, Qian Cai wrote: > for (f = 0; f < skb_shinfo(skb)->nr_frags; f++) > - count += TXD_USE_COUNT(skb_shinfo(skb)->frags[f].size); > + count += TXD_USE_COUNT(skb_shinfo(skb)->frags[f].bv_len); > #else No, this is the wrong fix. Use the fine accessor instead: + count += TXD_USE_COUNT(skb_frag_size(&skb_shinfo(skb)->frags[f])); although now there's a line length problem. Most drivers do: skb_frag_t frag = &skb_shinfo(skb)->frags[f]; count += TXD_USE_COUNT(skb_frag_size(frag));
On Wed, 2019-07-24 at 09:32 -0400, Qian Cai wrote: > The linux-next commit "net: Rename skb_frag_t size to bv_len" [1] > introduced a compilation error on powerpc as it forgot to rename > "size" > to "bv_len" for ixgbevf. > > [1] > https://lore.kernel.org/netdev/20190723030831.11879-1-willy@infradead.org/T/#md052f1c7de965ccd1bdcb6f92e1990a52298eac5 > > In file included from ./include/linux/cache.h:5, > from ./include/linux/printk.h:9, > from ./include/linux/kernel.h:15, > from ./include/linux/list.h:9, > from ./include/linux/module.h:9, > from > drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c:12: > drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c: In function > 'ixgbevf_xmit_frame_ring': > drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c:4138:51: error: > 'skb_frag_t' {aka 'struct bio_vec'} has no member named 'size' > count += TXD_USE_COUNT(skb_shinfo(skb)->frags[f].size); > ^ > ./include/uapi/linux/kernel.h:13:40: note: in definition of macro > '__KERNEL_DIV_ROUND_UP' > #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) > ^ > drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c:4138:12: note: in > expansion of macro 'TXD_USE_COUNT' > count += TXD_USE_COUNT(skb_shinfo(skb)->frags[f].size); > > Signed-off-by: Qian Cai <cai@lca.pw> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c index bdfccaf38edd..52375cebfbb8 100644 --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c @@ -4135,7 +4135,7 @@ static int ixgbevf_xmit_frame_ring(struct sk_buff *skb, */ #if PAGE_SIZE > IXGBE_MAX_DATA_PER_TXD for (f = 0; f < skb_shinfo(skb)->nr_frags; f++) - count += TXD_USE_COUNT(skb_shinfo(skb)->frags[f].size); + count += TXD_USE_COUNT(skb_shinfo(skb)->frags[f].bv_len); #else count += skb_shinfo(skb)->nr_frags; #endif
The linux-next commit "net: Rename skb_frag_t size to bv_len" [1] introduced a compilation error on powerpc as it forgot to rename "size" to "bv_len" for ixgbevf. [1] https://lore.kernel.org/netdev/20190723030831.11879-1-willy@infradead.org/T/#md052f1c7de965ccd1bdcb6f92e1990a52298eac5 In file included from ./include/linux/cache.h:5, from ./include/linux/printk.h:9, from ./include/linux/kernel.h:15, from ./include/linux/list.h:9, from ./include/linux/module.h:9, from drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c:12: drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c: In function 'ixgbevf_xmit_frame_ring': drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c:4138:51: error: 'skb_frag_t' {aka 'struct bio_vec'} has no member named 'size' count += TXD_USE_COUNT(skb_shinfo(skb)->frags[f].size); ^ ./include/uapi/linux/kernel.h:13:40: note: in definition of macro '__KERNEL_DIV_ROUND_UP' #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) ^ drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c:4138:12: note: in expansion of macro 'TXD_USE_COUNT' count += TXD_USE_COUNT(skb_shinfo(skb)->frags[f].size); Signed-off-by: Qian Cai <cai@lca.pw> --- drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)