From patchwork Thu May 9 15:19:47 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Hauweele X-Patchwork-Id: 242770 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 31AFC2C00E1 for ; Fri, 10 May 2013 01:22:02 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755610Ab3EIPVb (ORCPT ); Thu, 9 May 2013 11:21:31 -0400 Received: from mail-wi0-f174.google.com ([209.85.212.174]:53533 "EHLO mail-wi0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755577Ab3EIPV1 (ORCPT ); Thu, 9 May 2013 11:21:27 -0400 Received: by mail-wi0-f174.google.com with SMTP id m6so6359585wiv.7 for ; Thu, 09 May 2013 08:21:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:sender:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references; bh=oAvriW5DlaUQckV9UUJwmGf3zq2GA5XbCjGwnjdWT+M=; b=fkIgl2T1rcdNnTZC1SlKye7RW3VTEzGfuGXvc8EDlkEarfpCDRbW3nz1PK8lEcY+M9 NUMY1ZznTidRO6xuYb6m1ZTelIwZ0ci5kG50oqe4U6xE//r+dQUgxn1pqZrzXR7Zim99 S2ScD4M4EQiksjo4qn8cqeocSJSzcce9cv+mcfRyBV3Q9xvRvGCgUQd+5SjTYUqTI4zG DLCKxGcAQbgOXs7sp+Tu8iApnB7kxvulIoqgSE3nCXqP/U+x79aXy3qO2l63LphsqCqU fMyEv6acpTqwHwkAeShwbPvATTftlp2C5JBc+t+LdePnBWwtOG9QTxMPY9AsrW7s8lQO 4p/Q== X-Received: by 10.180.37.133 with SMTP id y5mr17563278wij.20.1368112885662; Thu, 09 May 2013 08:21:25 -0700 (PDT) Received: from gawen-x201.atlantysse.lan. (184.43-200-80.adsl-dyn.isp.belgacom.be. [80.200.43.184]) by mx.google.com with ESMTPSA id u17sm6404559wiv.8.2013.05.09.08.21.24 for (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 09 May 2013 08:21:24 -0700 (PDT) From: David Hauweele To: Alexander Smirnov , Dmitry Eremin-Solenikov , linux-zigbee-devel@lists.sourceforge.net Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, David Hauweele Subject: [PATCH 2/2] mrf24j40: Keep the interrupt line enabled Date: Thu, 9 May 2013 17:19:47 +0200 Message-Id: <1368112788-25701-2-git-send-email-david@hauweele.net> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1368112788-25701-1-git-send-email-david@hauweele.net> References: <1368112788-25701-1-git-send-email-david@hauweele.net> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Disabling the interrupt line could miss an IRQ and leave the line into a low state hence locking the driver. Signed-off-by: David Hauweele --- drivers/net/ieee802154/mrf24j40.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/net/ieee802154/mrf24j40.c b/drivers/net/ieee802154/mrf24j40.c index 1e3ddf3..6ef32f7 100644 --- a/drivers/net/ieee802154/mrf24j40.c +++ b/drivers/net/ieee802154/mrf24j40.c @@ -603,8 +603,6 @@ static irqreturn_t mrf24j40_isr(int irq, void *data) { struct mrf24j40 *devrec = data; - disable_irq_nosync(irq); - schedule_work(&devrec->irqwork); return IRQ_HANDLED; @@ -619,7 +617,7 @@ static void mrf24j40_isrwork(struct work_struct *work) /* Read the interrupt status */ ret = read_short_reg(devrec, REG_INTSTAT, &intstat); if (ret) - goto out; + return; /* Check for TX complete */ if (intstat & 0x1) @@ -628,9 +626,6 @@ static void mrf24j40_isrwork(struct work_struct *work) /* Check for Rx */ if (intstat & 0x8) schedule_work(&devrec->rxwork); - -out: - enable_irq(devrec->spi->irq); } static void mrf24j40_rxwork(struct work_struct *work)