From patchwork Fri Mar 30 17:36:16 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lino Sanfilippo X-Patchwork-Id: 149703 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3EF5AB6EF3 for ; Sat, 31 Mar 2012 04:36:35 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759467Ab2C3RgQ (ORCPT ); Fri, 30 Mar 2012 13:36:16 -0400 Received: from mailout-de.gmx.net ([213.165.64.22]:58948 "HELO mailout-de.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1752904Ab2C3RgN (ORCPT ); Fri, 30 Mar 2012 13:36:13 -0400 Received: (qmail invoked by alias); 30 Mar 2012 17:36:11 -0000 Received: from kons-4d03ed90.pool.mediaWays.net (EHLO Neptun) [77.3.237.144] by mail.gmx.net (mp038) with SMTP; 30 Mar 2012 19:36:11 +0200 X-Authenticated: #4630777 X-Provags-ID: V01U2FsdGVkX19R9e8Ypj5RqRmJXNc4blzqXR3ebWVkVQ3qXfzRtT HsuYknjf+FMk1f Date: Fri, 30 Mar 2012 19:36:16 +0200 From: Lino Sanfilippo To: shemminger@vyatta.com Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH] sky2: fix missing register reset on error path in sky2_test_msi() Message-ID: <20120330173616.GC2703@Neptun> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.20 (2009-06-14) X-Y-GMX-Trusted: 0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In sky2_test_msi() the temporarily set SW IRQ in B0 register is not reset in case that request_irq() fails. With this patch we only set the interrupt mask if request_irq() was successful. Signed-off-by: Lino Sanfilippo --- This applies against 3.3 drivers/net/ethernet/marvell/sky2.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c index 760c2b1..0e23ce4 100644 --- a/drivers/net/ethernet/marvell/sky2.c +++ b/drivers/net/ethernet/marvell/sky2.c @@ -4795,14 +4795,14 @@ static int __devinit sky2_test_msi(struct sky2_hw *hw) init_waitqueue_head(&hw->msi_wait); - sky2_write32(hw, B0_IMSK, Y2_IS_IRQ_SW); - err = request_irq(pdev->irq, sky2_test_intr, 0, DRV_NAME, hw); if (err) { dev_err(&pdev->dev, "cannot assign irq %d\n", pdev->irq); return err; } + sky2_write32(hw, B0_IMSK, Y2_IS_IRQ_SW); + sky2_write8(hw, B0_CTST, CS_ST_SW_IRQ); sky2_read8(hw, B0_CTST);