Patch "gpio: mpc8xxx: Correct irq handler function" has been added to the 4.8-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
gpio: mpc8xxx: Correct irq handler function
to the 4.8-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
gpio-mpc8xxx-correct-irq-handler-function.patch
and it can be found in the queue-4.8 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
d71cf15b865bdd45925f7b094d169aaabd705145Mon Sep 17 00:00:00 2001
From: Liu Gang <[email protected]>
Date: Fri, 21 Oct 2016 15:31:28 +0800
Subject: gpio: mpc8xxx: Correct irq handler function
From: Liu Gang <[email protected]>
commit d71cf15b865bdd45925f7b094d169aaabd705145 upstream.
Quoted 1 line
From the beginning of the
gpio-mpc8xxx.c, the "handle_level_irq"
has being used to handle GPIO interrupts in the PowerPC/Layerscape platforms. But actually, almost all PowerPC/Layerscape platforms assert an interrupt request upon either a high-to-low change or any change on the state of the signal.
So the "handle_level_irq" is not reasonable for PowerPC/Layerscape GPIO interrupt, it should be "handle_edge_irq". Otherwise the system may lost some interrupts from the PIN's state changes.
--- drivers/gpio/gpio-mpc8xxx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/gpio/gpio-mpc8xxx.c +1 -1
@@ -239,7 +239,7 @@ static int mpc8xxx_gpio_irq_map(struct i irq_hw_number_t hwirq) {irq_set_chip_data (irq, h->host_data); -irq_set_chip_and_handler (irq, &mpc8xxx_irq_chip, handle_level_irq); +irq_set_chip_and_handler (irq, &mpc8xxx_irq_chip, handle_edge_irq);return 0 ; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.8/gpio-mpc8xxx-correct-irq-handler-function.patch