From patchwork Tue Sep 8 20:33:58 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Wise X-Patchwork-Id: 46241 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n88L0lk6016258 for ; Tue, 8 Sep 2009 21:00:47 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751870AbZIHVAR (ORCPT ); Tue, 8 Sep 2009 17:00:17 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752156AbZIHVAR (ORCPT ); Tue, 8 Sep 2009 17:00:17 -0400 Received: from smtp.opengridcomputing.com ([209.198.142.2]:48829 "EHLO smtp.opengridcomputing.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751870AbZIHVAR (ORCPT ); Tue, 8 Sep 2009 17:00:17 -0400 X-Greylist: delayed 1581 seconds by postgrey-1.27 at vger.kernel.org; Tue, 08 Sep 2009 17:00:17 EDT Received: from build.ogc.int (build.ogc.int [10.10.0.2]) by smtp.opengridcomputing.com (Postfix) with ESMTP id 8F8177C773; Tue, 8 Sep 2009 15:33:58 -0500 (CDT) From: Steve Wise Subject: [PATCH] RDMA/iwcm: Reject the connection when the cm_id is destroyed. To: rdreier@cisco.com Cc: tom@opengridcomputing.com, sean.hefty@intel.com, linux-rdma@vger.kernel.org Date: Tue, 08 Sep 2009 15:33:58 -0500 Message-ID: <20090908203358.14739.37133.stgit@build.ogc.int> User-Agent: StGIT/0.14.3 MIME-Version: 1.0 Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org If the cm_id of a connect request is destroyed prior to the ULP accepting or rejecting the connection, then the provider never cleans up the connection. The iwcm should explicitly reject these connections if the cm_id is destroyed. Signed-off-by: Steve Wise --- drivers/infiniband/core/iwcm.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/infiniband/core/iwcm.c b/drivers/infiniband/core/iwcm.c index 8f9509e..55d093a 100644 --- a/drivers/infiniband/core/iwcm.c +++ b/drivers/infiniband/core/iwcm.c @@ -362,6 +362,7 @@ static void destroy_cm_id(struct iw_cm_id *cm_id) * In either case, must tell the provider to reject. */ cm_id_priv->state = IW_CM_STATE_DESTROYING; + cm_id->device->iwcm->reject(cm_id, NULL, 0); break; case IW_CM_STATE_CONN_SENT: case IW_CM_STATE_DESTROYING: