All of lore.kernel.org
 help / color / mirror / Atom feed
From: NeilBrown <neilb@suse.de>
To: Felipe Balbi <balbi@ti.com>
Cc: linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org,
	Samuel Ortiz <sameo@linux.intel.com>, NeilBrown <neilb@suse.de>
Subject: [PATCH 1/4] twl4030-irq: Base interrupt must be one-shot
Date: Sun, 27 Nov 2011 07:17:41 +1100	[thread overview]
Message-ID: <20111126201741.16080.12574.stgit@notabene.brown> (raw)
In-Reply-To: <20111126201334.16080.85045.stgit@notabene.brown>

As the interrupt source is only cleared by the threaded interrupt
service routine, we need to make the base interrupt IRQF_ONESHOT.
Without this, the first interrupt from the TWL4030 cause the CPU to
enter an infinite loop trying to handle to interrupt but never
clearing it.

Signed-off-by: NeilBrown <neilb@suse.de>
---

 drivers/mfd/twl4030-irq.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/mfd/twl4030-irq.c b/drivers/mfd/twl4030-irq.c
index f062c8c..3d3d6ed 100644
--- a/drivers/mfd/twl4030-irq.c
+++ b/drivers/mfd/twl4030-irq.c
@@ -733,8 +733,9 @@ int twl4030_init_irq(int irq_num, unsigned irq_base, unsigned irq_end)
 	}
 
 	/* install an irq handler to demultiplex the TWL4030 interrupt */
-	status = request_threaded_irq(irq_num, NULL, handle_twl4030_pih, 0,
-					"TWL4030-PIH", NULL);
+	status = request_threaded_irq(irq_num, NULL, handle_twl4030_pih,
+				      IRQF_ONESHOT,
+				      "TWL4030-PIH", NULL);
 	if (status < 0) {
 		pr_err("twl4030: could not claim irq%d: %d\n", irq_num, status);
 		goto fail_rqirq;

  parent reply	other threads:[~2011-11-26 20:17 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-26 20:17 [PATCH 0/4] fixes for twl4030-irq in mainline NeilBrown
2011-11-26 20:17 ` [PATCH 4/4] twl4030-irq: fix typo NeilBrown
2011-11-26 20:17 ` [PATCH 3/4] twl4030-irq: set tertiary interrupts to be nested/threaded NeilBrown
2011-11-26 20:17 ` NeilBrown [this message]
2011-11-26 20:17 ` [PATCH 2/4] twl4030-irq: use request_threaded_irq in place of irq_set_chained_handler NeilBrown
2011-12-07 18:34 ` [PATCH 0/4] fixes for twl4030-irq in mainline Felipe Contreras
2011-12-12 17:38 ` Samuel Ortiz
2011-12-12 21:39   ` NeilBrown
2011-12-13 20:24     ` Samuel Ortiz
2011-12-13 14:12   ` Felipe Contreras
2011-12-13 20:52     ` Samuel Ortiz
2011-12-13 20:52       ` Samuel Ortiz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20111126201741.16080.12574.stgit@notabene.brown \
    --to=neilb@suse.de \
    --cc=balbi@ti.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=sameo@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.