Re: [PATCH] irq: call also chip->irq_mask from irq_disable

From: Thomas Gleixner
Date: Wed Sep 14 2011 - 12:04:22 EST


On Wed, 14 Sep 2011, Tero Kristo wrote:

> Current implementation of the irq_disable only calls chip->irq_disable.
> This fails to disable interrupt on some chip implementations, as there
> are two alternative chip specific functions for this task,
> chip->irq_disable and chip->irq_mask. Added alternative path for
> chip->irq_disable also.

This does not fail to do so. It's done on purpose. We don't want to
access the interrupt chip when we can avoid it.

So we just mark the interrupt disabled and keep the line enabled.
When another interrupt happens, then the handling code checks the
disabled state of the line, masks the interrupt on the hardware level
and sets the pending bit. This is documented behaviour and not going
to change.

http://docs.blackfin.uclinux.org/kernel/generated/genericirq/ch04s03.html#Delayed_interrupt_disable

What are you trying to solve ?

Thanks,

tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/