X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=target%2Flinux%2Fsunxi%2Fpatches-3.13%2F171-2-pinctrl-sunxi-fix-hang-on-gpio-irq.patch;fp=target%2Flinux%2Fsunxi%2Fpatches-3.13%2F171-2-pinctrl-sunxi-fix-hang-on-gpio-irq.patch;h=0000000000000000000000000000000000000000;hb=8047200d356507352aff58aceb108a8f66854b00;hp=84710c63281a43b9c13961fb67553e80761f5ebc;hpb=deefbdb53dc2f5790475265bf63c0ab704a6a25e;p=openwrt.git diff --git a/target/linux/sunxi/patches-3.13/171-2-pinctrl-sunxi-fix-hang-on-gpio-irq.patch b/target/linux/sunxi/patches-3.13/171-2-pinctrl-sunxi-fix-hang-on-gpio-irq.patch deleted file mode 100644 index 84710c6328..0000000000 --- a/target/linux/sunxi/patches-3.13/171-2-pinctrl-sunxi-fix-hang-on-gpio-irq.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 613c8489f6b576166aa31d32cbd573f6b7952e06 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Sat, 15 Feb 2014 12:58:17 +0100 -Subject: [PATCH] pinctrl-sunxi: Fix hang on gpio irq - -Our irq handler was missing chained_irq_enter / exit calls, causing a -hard hang as soon as a gpio irq happened. - -Signed-off-by: Hans de Goede ---- - drivers/pinctrl/pinctrl-sunxi.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/drivers/pinctrl/pinctrl-sunxi.c b/drivers/pinctrl/pinctrl-sunxi.c -index 74635cc..cc9bd1b 100644 ---- a/drivers/pinctrl/pinctrl-sunxi.c -+++ b/drivers/pinctrl/pinctrl-sunxi.c -@@ -13,6 +13,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -665,9 +666,12 @@ static void sunxi_pinctrl_irq_unmask(struct irq_data *d) - - static void sunxi_pinctrl_irq_handler(unsigned irq, struct irq_desc *desc) - { -+ struct irq_chip *chip = irq_get_chip(irq); - struct sunxi_pinctrl *pctl = irq_get_handler_data(irq); - const unsigned long reg = readl(pctl->membase + IRQ_STATUS_REG); - -+ chained_irq_enter(chip, desc); -+ - /* Clear all interrupts */ - writel(reg, pctl->membase + IRQ_STATUS_REG); - -@@ -679,6 +683,7 @@ static void sunxi_pinctrl_irq_handler(unsigned irq, struct irq_desc *desc) - generic_handle_irq(pin_irq); - } - } -+ chained_irq_exit(chip, desc); - } - - static struct of_device_id sunxi_pinctrl_match[] = { --- -1.8.5.5 -