cxgb3: Fix length calculation in write_ofld_wr() on 32-bit architectures
authorBen Hutchings <ben@decadent.org.uk>
Sun, 27 Oct 2013 21:02:39 +0000 (21:02 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 29 Oct 2013 04:14:03 +0000 (00:14 -0400)
commit262e827fe745642589450ae241b7afd3912c3f25
tree32e472ba8d018247c80ebf1a32eedbd7ba931a06
parent826cb7b43b5bd8995f84edeacbbf569946a58f7c
cxgb3: Fix length calculation in write_ofld_wr() on 32-bit architectures

The length calculation here is now invalid on 32-bit architectures,
since sk_buff::tail is a pointer and sk_buff::transport_header is
an integer offset:

drivers/net/ethernet/chelsio/cxgb3/sge.c: In function 'write_ofld_wr':
drivers/net/ethernet/chelsio/cxgb3/sge.c:1603:9: warning: passing argument 4 of 'make_sgl' makes integer from pointer without a cast [enabled by default]
         adap->pdev);
         ^
drivers/net/ethernet/chelsio/cxgb3/sge.c:964:28: note: expected 'unsigned int' but argument is of type 'sk_buff_data_t'
 static inline unsigned int make_sgl(const struct sk_buff *skb,
                            ^

Use the appropriate skb accessor functions.

Compile-tested only.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Fixes: 1a37e412a022 ('net: Use 16bits for *_headers fields of struct skbuff')
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb3/sge.c