In recent 64 bit kernels the struct sk_buff fields 'tail' and 'end'
have changed from pointers to offsets. This fix for SDP supports
the change and fixes a "kernel BUG at net/core/skbuff.c:95!" problem.
Signed-off-by: Jim Mott <[EMAIL PROTECTED]>
---
Index: ofa_1_3_dev_kernel/drivers/infiniband/ulp/sdp/sdp_bcopy.c
===================================================================
--- ofa_1_3_dev_kernel.orig/drivers/infiniband/ulp/sdp/sdp_bcopy.c
2007-11-26 11:49:30.000000000 -0600
+++ ofa_1_3_dev_kernel/drivers/infiniband/ulp/sdp/sdp_bcopy.c
2007-11-26 11:55:48.000000000 -0600
@@ -633,7 +633,11 @@ static void sdp_handle_wc(struct sdp_soc
else
skb->data_len = 0;
skb->data = skb->head;
+#ifdef NET_SKBUFF_DATA_USES_OFFSET
+ skb->tail = skb_headlen(skb);
+#else
skb->tail = skb->head + skb_headlen(skb);
+#endif
h = (struct sdp_bsdh *)skb->data;
skb_reset_transport_header(skb);
ssk->mseq_ack = ntohl(h->mseq);
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general