+++ /dev/null
-From 5e6ba9f656b9ece3d0473f6cdca66b665f72eb36 Mon Sep 17 00:00:00 2001
-From: Ben Hutchings <ben@decadent.org.uk>
-Date: Sun, 27 Oct 2013 21:02:39 +0000
-Subject: cxgb3: Fix length calculation in write_ofld_wr() on 32-bit architectures
-
-From: Ben Hutchings <ben@decadent.org.uk>
-
-[ Upstream commit 262e827fe745642589450ae241b7afd3912c3f25 ]
-
-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>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/net/ethernet/chelsio/cxgb3/sge.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/drivers/net/ethernet/chelsio/cxgb3/sge.c
-+++ b/drivers/net/ethernet/chelsio/cxgb3/sge.c
-@@ -1600,7 +1600,8 @@ static void write_ofld_wr(struct adapter
- flits = skb_transport_offset(skb) / 8;
- sgp = ndesc == 1 ? (struct sg_ent *)&d->flit[flits] : sgl;
- sgl_flits = make_sgl(skb, sgp, skb_transport_header(skb),
-- skb->tail - skb->transport_header,
-+ skb_tail_pointer(skb) -
-+ skb_transport_header(skb),
- adap->pdev);
- if (need_skb_unmap()) {
- setup_deferred_unmapping(skb, adap->pdev, sgp, sgl_flits);