Messages in this thread | | | Date | Mon, 30 Nov 2009 15:01:00 +0000 | From | Russell King - ARM Linux <> | Subject | Re: Get rid of IRQF_DISABLED - (was [PATCH] genirq: warn about IRQF_SHARED|IRQF_DISABLED) |
| |
On Mon, Nov 30, 2009 at 02:47:02PM +0000, Alan Cox wrote: > SHARED|DISABLED ought to WARN_ON() and if that doesn't motivate people > then return -EINVAL.
That is an impossibility. There is hardware out there (AT91) where the timer interrupt is shared with other peripherals, and you end up with a mixture of irqs-disabled and irqs-enabled handlers sharing the same interrupt.
Luckily, the timer interrupt is the first to claim, and so is the first to be run. However, there was a problem reported a while back of the clock event code being called on AT91 with IRQs enabled - unfortunately the original reporters stopped responding so it was never worked out what was going on.
My point is that if we outlaw irqs-disabled shared interrupts, it puts Atmel AT91 support into immediate difficulties.
| |