[ewg] [PATCH] ofed_1_2/sdp - SDP can lose receive data
Ralph Campbell
ralph.campbell at qlogic.com
Fri May 25 17:33:43 PDT 2007
Can this fix be considered for OFED 1.2?
Thanks.
If a receive work completion is processed but there is no room
in a previously queued skb, the data is dropped.
This patch fixes the problem by queuing the skb.
Signed-off-by: Ralph Campbell <ralph.campbell at qlogic.com>
diff -r 074340d1892d drivers/infiniband/ulp/sdp/sdp_bcopy.c
--- a/drivers/infiniband/ulp/sdp/sdp_bcopy.c Fri May 25 17:04:51 2007 -0700
+++ b/drivers/infiniband/ulp/sdp/sdp_bcopy.c Fri May 25 17:07:02 2007 -0700
@@ -314,7 +314,8 @@ static inline struct sk_buff *sdp_sock_q
skb_copy_bits(skb, 0, skb_put(tail, skb_len), skb_len);
__kfree_skb(skb);
skb = tail;
- }
+ } else
+ skb_queue_tail(&sk->sk_receive_queue, skb);
} else
skb_queue_tail(&sk->sk_receive_queue, skb);
More information about the ewg
mailing list