[ofa-general] [PATCH 1/1] SDP - Bug646 (DisConn message is sent even if there is 1 send credit and no credit update is sent)

Jim Mott jim at mellanox.com
Mon Oct 22 13:33:07 PDT 2007


Compliance with CA4-82:
  If one credit is available, an implementation shall only send SDP
messages that provide additional credits and also do not contain ULP
payload.

Signed-off-by: Jim Mott <jim at mellanox.com>

This patch was created by Ami Perlmuter on May 30, 2007 and attached to
bug 646.  I missed getting it into 1.2.5.
---

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-10-10 15:32:02.000000000 -0500
+++ ofa_1_3_dev_kernel/drivers/infiniband/ulp/sdp/sdp_bcopy.c
2007-10-10 15:37:51.000000000 -0500
@@ -476,7 +476,7 @@ void sdp_post_sends(struct sdp_sock *ssk
 	if (unlikely((1 << ssk->isk.sk.sk_state) &
 			(TCPF_FIN_WAIT1 | TCPF_LAST_ACK)) &&
 		!ssk->isk.sk.sk_send_head &&
-		ssk->bufs) {
+		ssk->bufs > (ssk->remote_credits >= ssk->rx_head -
ssk->rx_tail)) {
 		skb = sk_stream_alloc_skb(&ssk->isk.sk,
 					  sizeof(struct sdp_bsdh),
 					  GFP_KERNEL);



More information about the general mailing list