From patchwork Mon Sep 28 19:03:28 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Wise X-Patchwork-Id: 50439 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 n8SJ3UoO027527 for ; Mon, 28 Sep 2009 19:03:30 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752309AbZI1TDZ (ORCPT ); Mon, 28 Sep 2009 15:03:25 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752358AbZI1TDZ (ORCPT ); Mon, 28 Sep 2009 15:03:25 -0400 Received: from smtp.opengridcomputing.com ([209.198.142.2]:37661 "EHLO smtp.opengridcomputing.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752309AbZI1TDZ (ORCPT ); Mon, 28 Sep 2009 15:03:25 -0400 Received: from build.ogc.int (build.ogc.int [10.10.0.2]) by smtp.opengridcomputing.com (Postfix) with ESMTP id A8BFC7C735; Mon, 28 Sep 2009 14:03:28 -0500 (CDT) From: Steve Wise Subject: [PATCH] iWCM: Do not call provider reject method with irqs disabled. To: rdreier@cisco.com Cc: linux-rdma@vger.kernel.org Date: Mon, 28 Sep 2009 14:03:28 -0500 Message-ID: <20090928190328.26092.69566.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 Signed-off-by: Steve Wise --- drivers/infiniband/core/iwcm.c | 2 ++ 1 files changed, 2 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 55d093a..625fec5 100644 --- a/drivers/infiniband/core/iwcm.c +++ b/drivers/infiniband/core/iwcm.c @@ -362,7 +362,9 @@ 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; + spin_unlock_irqrestore(&cm_id_priv->lock, flags); cm_id->device->iwcm->reject(cm_id, NULL, 0); + spin_lock_irqsave(&cm_id_priv->lock, flags); break; case IW_CM_STATE_CONN_SENT: case IW_CM_STATE_DESTROYING: