Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Mar 2016 01:41:07 +0000 (UTC)
From:      Navdeep Parhar <np@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r297369 - head/sys/contrib/rdma/krping
Message-ID:  <201603290141.u2T1f7ie001665@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: np
Date: Tue Mar 29 01:41:07 2016
New Revision: 297369
URL: https://svnweb.freebsd.org/changeset/base/297369

Log:
  krping wasn't designed to take more than one client.  Fail any connect
  requests if cb->state is not IDLE.
  
  Submitted by:	Krishnamraju Eraparaju @ Chelsio
  Reviewed by:	Steve Wise @ Open Grid Computing
  Sponsored by:	Chelsio Communications

Modified:
  head/sys/contrib/rdma/krping/krping.c

Modified: head/sys/contrib/rdma/krping/krping.c
==============================================================================
--- head/sys/contrib/rdma/krping/krping.c	Tue Mar 29 00:10:47 2016	(r297368)
+++ head/sys/contrib/rdma/krping/krping.c	Tue Mar 29 01:41:07 2016	(r297369)
@@ -266,8 +266,13 @@ static int krping_cma_event_handler(stru
 		break;
 
 	case RDMA_CM_EVENT_CONNECT_REQUEST:
-		cb->state = CONNECT_REQUEST;
-		cb->child_cm_id = cma_id;
+		if (cb->state == IDLE) {
+			cb->state = CONNECT_REQUEST;
+			cb->child_cm_id = cma_id;
+		} else {
+			PRINTF(cb, "Received connection request in wrong state"
+			    " (%d)\n", cb->state);
+		}
 		DEBUG_LOG(cb, "child cma %p\n", cb->child_cm_id);
 		wake_up_interruptible(&cb->sem);
 		break;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201603290141.u2T1f7ie001665>