From patchwork Tue Sep 29 18:41:53 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Wise X-Patchwork-Id: 50585 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 n8TIfsHJ019075 for ; Tue, 29 Sep 2009 18:41:54 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752953AbZI2Slu (ORCPT ); Tue, 29 Sep 2009 14:41:50 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753396AbZI2Slu (ORCPT ); Tue, 29 Sep 2009 14:41:50 -0400 Received: from smtp.opengridcomputing.com ([209.198.142.2]:34789 "EHLO smtp.opengridcomputing.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752953AbZI2Slt (ORCPT ); Tue, 29 Sep 2009 14:41:49 -0400 Received: from build.ogc.int (build.ogc.int [10.10.0.2]) by smtp.opengridcomputing.com (Postfix) with ESMTP id 8FBB17C792; Tue, 29 Sep 2009 19:03:53 -0500 (CDT) From: Steve Wise Subject: [PATCH v2] IWCM: Don't call provider reject func with irqs disabled To: rdreier@cisco.com Cc: linux-rdma@vger.kernel.org Date: Tue, 29 Sep 2009 13:41:53 -0500 Message-ID: <20090929184152.16572.60582.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 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: