From patchwork Tue May 25 15:13:09 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chien Tung X-Patchwork-Id: 102222 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o4PFDdj1008989 for ; Tue, 25 May 2010 15:13:39 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932516Ab0EYPNZ (ORCPT ); Tue, 25 May 2010 11:13:25 -0400 Received: from mga01.intel.com ([192.55.52.88]:23874 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932338Ab0EYPNY (ORCPT ); Tue, 25 May 2010 11:13:24 -0400 Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP; 25 May 2010 08:09:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.53,299,1272870000"; d="scan'208";a="801708577" Received: from ctung-mobl.amr.corp.intel.com (HELO ctung-MOBL.intel.com) ([10.232.237.190]) by fmsmga001.fm.intel.com with SMTP; 25 May 2010 08:12:54 -0700 Received: by ctung-MOBL.intel.com (sSMTP sendmail emulation); Tue, 25 May 2010 10:13:10 -0500 Date: Tue, 25 May 2010 10:13:09 -0500 From: Chien Tung To: Roland Dreier Cc: linux-rdma@vger.kernel.org Subject: [PATCH] RDMA/nes: fix incorrect unlock in nes_process_mac_intr Message-ID: <20100525151309.GA2688@ctung-MOBL> Mime-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.4.2.2i 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]); Tue, 25 May 2010 15:13:39 +0000 (UTC) diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c index bb9c775..57874a1 100644 --- a/drivers/infiniband/hw/nes/nes_hw.c +++ b/drivers/infiniband/hw/nes/nes_hw.c @@ -2584,7 +2584,6 @@ static void nes_process_mac_intr(struct nes_device *nesdev, u32 mac_number) break; } } - spin_unlock_irqrestore(&nesadapter->phy_lock, flags); if (phy_data & 0x0004) { if (wide_ppm_offset && @@ -2639,6 +2638,8 @@ static void nes_process_mac_intr(struct nes_device *nesdev, u32 mac_number) } } + spin_unlock_irqrestore(&nesadapter->phy_lock, flags); + nesadapter->mac_sw_state[mac_number] = NES_MAC_SW_IDLE; }