Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1506187
| From | Marc Zyngier <marc.zyngier@arm.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: Disabling an interrupt in the handler locks the system up |
| Date | 2016-10-21 19:50 +0200 |
| Message-ID | <suM78-oJ-19@gated-at.bofh.it> (permalink) |
| References | <suL1o-8bl-21@gated-at.bofh.it> |
| Organization | ARM Ltd |
On 21/10/16 17:37, Mason wrote:
> Hello,
>
> On my platform, one HW block pulls the interrupt line high
> as long as it remains idle, and low when it is busy.
>
> The device tree node is:
>
> test@22222 {
> compatible = "vendor,testme";
> interrupts = <23 IRQ_TYPE_LEVEL_HIGH>;
> };
I assume that this is for the sake of the discussion, and that you do
not actually intend to put together such a monstrosity.
>
> I wrote a minimal driver which registers the irq.
> And in the interrupt handler, I disable said irq.
>
> Since the irq is IRQ_TYPE_LEVEL_HIGH, it will fire as soon as
> it is registered (because the block is idle).
>
> Here is the code I've been running, request_irq doesn't return.
[...]
> And here's what I get when I try to load the module:
> (I'm using the default CONFIG_RCU_CPU_STALL_TIMEOUT=21)
[...]
> Are we not supposed to disable the irq in the handler?
You can. It then depends on what your interrupt controller does to
actually ensure that the interrupt is disabled. Only you can trace it on
your HW to find out.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Disabling an interrupt in the handler locks the system up Mason <slash.tmp@free.fr> - 2016-10-21 18:40 +0200
Re: Disabling an interrupt in the handler locks the system up Marc Zyngier <marc.zyngier@arm.com> - 2016-10-21 19:50 +0200
Re: Disabling an interrupt in the handler locks the system up Mason <slash.tmp@free.fr> - 2016-10-21 20:50 +0200
Re: Disabling an interrupt in the handler locks the system up Marc Zyngier <marc.zyngier@arm.com> - 2016-10-21 21:20 +0200
Re: Disabling an interrupt in the handler locks the system up Mason <slash.tmp@free.fr> - 2016-10-21 21:50 +0200
Re: Disabling an interrupt in the handler locks the system up Thomas Gleixner <tglx@linutronix.de> - 2016-10-21 22:00 +0200
Re: Disabling an interrupt in the handler locks the system up Mason <slash.tmp@free.fr> - 2016-10-21 22:30 +0200
Re: Disabling an interrupt in the handler locks the system up Marc Zyngier <marc.zyngier@arm.com> - 2016-10-22 13:40 +0200
Re: Disabling an interrupt in the handler locks the system up Mason <slash.tmp@free.fr> - 2016-10-23 01:20 +0200
Re: Disabling an interrupt in the handler locks the system up Marc Zyngier <marc.zyngier@arm.com> - 2016-10-24 10:20 +0200
Re: Disabling an interrupt in the handler locks the system up Mason <slash.tmp@free.fr> - 2016-10-24 18:20 +0200
Re: Disabling an interrupt in the handler locks the system up Thomas Gleixner <tglx@linutronix.de> - 2016-10-24 19:00 +0200
Re: Disabling an interrupt in the handler locks the system up Mason <slash.tmp@free.fr> - 2016-10-25 10:40 +0200
Re: Disabling an interrupt in the handler locks the system up Marc Zyngier <marc.zyngier@arm.com> - 2016-10-25 12:50 +0200
Re: Disabling an interrupt in the handler locks the system up Mason <slash.tmp@free.fr> - 2016-10-25 16:00 +0200
Re: Disabling an interrupt in the handler locks the system up Thomas Gleixner <tglx@linutronix.de> - 2016-10-25 16:00 +0200
Re: Disabling an interrupt in the handler locks the system up Sebastian Frias <sf84@laposte.net> - 2016-10-25 11:00 +0200
Re: Disabling an interrupt in the handler locks the system up Thomas Gleixner <tglx@linutronix.de> - 2016-10-25 11:30 +0200
csiph-web