]> git.ipfire.org Git - people/ms/linux.git/commit
genirq: Handle pending irqs in irq_startup()
authorThomas Gleixner <tglx@linutronix.de>
Wed, 8 Feb 2012 10:57:52 +0000 (11:57 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 Mar 2012 00:31:17 +0000 (16:31 -0800)
commit37ef0e621b065f2d9e1c37ff42a37d6bd74bf039
treed2bd7c7360464eea3071780fed37ef866c45f2c9
parentaa0eb3474beae8f6d9dcc2311dc02bea50cfd7b7
genirq: Handle pending irqs in irq_startup()

commit b4bc724e82e80478cba5fe9825b62e71ddf78757 upstream.

An interrupt might be pending when irq_startup() is called, but the
startup code does not invoke the resend logic. In some cases this
prevents the device from issuing another interrupt which renders the
device non functional.

Call the resend function in irq_startup() to keep things going.

Reported-and-tested-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kernel/irq/autoprobe.c
kernel/irq/chip.c
kernel/irq/internals.h
kernel/irq/manage.c