From patchwork Mon Aug 2 18:30:53 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arlin Davis X-Patchwork-Id: 116575 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.4/8.14.3) with ESMTP id o72IUjCA015544 for ; Mon, 2 Aug 2010 18:30:57 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753109Ab0HBSa4 (ORCPT ); Mon, 2 Aug 2010 14:30:56 -0400 Received: from mga09.intel.com ([134.134.136.24]:62404 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754029Ab0HBSa4 convert rfc822-to-8bit (ORCPT ); Mon, 2 Aug 2010 14:30:56 -0400 Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP; 02 Aug 2010 11:29:13 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.55,304,1278313200"; d="scan'208";a="644007799" Received: from orsmsx602.amr.corp.intel.com ([10.22.226.211]) by orsmga001.jf.intel.com with ESMTP; 02 Aug 2010 11:30:47 -0700 Received: from orsmsx605.amr.corp.intel.com (10.22.226.10) by orsmsx602.amr.corp.intel.com (10.22.226.211) with Microsoft SMTP Server (TLS) id 8.2.254.0; Mon, 2 Aug 2010 11:30:55 -0700 Received: from orsmsx506.amr.corp.intel.com ([10.22.226.44]) by orsmsx605.amr.corp.intel.com ([10.22.226.10]) with mapi; Mon, 2 Aug 2010 11:30:55 -0700 From: "Davis, Arlin R" To: linux-rdma , "ofw@lists.openfabrics.org" Date: Mon, 2 Aug 2010 11:30:53 -0700 Subject: [PATCH] dapl-2.0 - common: cleanup CR linkings after DTO error on EP Thread-Topic: [PATCH] dapl-2.0 - common: cleanup CR linkings after DTO error on EP Thread-Index: AcsNeGIZrKpDLe9TRUW5U9YZUm3b7gk9zv/gAAAtdbAAAAb8oA== Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US MIME-Version: 1.0 Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Mon, 02 Aug 2010 18:30:57 +0000 (UTC) diff --git a/dapl/common/dapl_evd_util.c b/dapl/common/dapl_evd_util.c index cb3eb1b..12d38ff 100644 --- a/dapl/common/dapl_evd_util.c +++ b/dapl/common/dapl_evd_util.c @@ -1316,6 +1316,7 @@ dapli_evd_cqe_to_event(IN DAPL_EVD * evd_ptr, /* ... and clean up the local side */ evd_ptr = (DAPL_EVD *) ep_ptr->param.connect_evd_handle; + dapl_sp_remove_ep (ep_ptr); if (evd_ptr != NULL) { dapls_evd_post_connection_event(evd_ptr, DAT_CONNECTION_EVENT_BROKEN, diff --git a/dapl/common/dapl_sp_util.c b/dapl/common/dapl_sp_util.c index c1a3fdb..fba3711 100644 --- a/dapl/common/dapl_sp_util.c +++ b/dapl/common/dapl_sp_util.c @@ -264,6 +264,8 @@ void dapl_sp_remove_ep(IN DAPL_EP * ep_ptr) dapl_os_unlock(&sp_ptr->header.lock); + ep_ptr->cr_ptr = NULL; + /* free memory outside of the lock */ dapls_cr_free(cr_ptr);