From 770b6c315b41c6d73f6dd00bdb73530b2d92fcb9 Mon Sep 17 00:00:00 2001 From: Chao Xie Date: Tue, 31 Jul 2012 14:13:09 +0800 Subject: [PATCH] --- yaml --- r: 326701 b: refs/heads/master c: 0d2ee5d773c209504db643ec4d4b9f3624a6663f h: refs/heads/master i: 326699: 6f3c2c0189c6372034d21b80c978870f6b4859d4 v: v3 --- [refs] | 2 +- trunk/drivers/gpio/gpio-pxa.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 83a4ef7418d4..b472372dea74 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cd0a4a9503345c7076978ecc81c38a1c61730bfe +refs/heads/master: 0d2ee5d773c209504db643ec4d4b9f3624a6663f diff --git a/trunk/drivers/gpio/gpio-pxa.c b/trunk/drivers/gpio/gpio-pxa.c index 6d0cb9dff27d..db5c2958f973 100644 --- a/trunk/drivers/gpio/gpio-pxa.c +++ b/trunk/drivers/gpio/gpio-pxa.c @@ -26,6 +26,8 @@ #include #include +#include + #include /* @@ -331,6 +333,9 @@ static void pxa_gpio_demux_handler(unsigned int irq, struct irq_desc *desc) struct pxa_gpio_chip *c; int loop, gpio, gpio_base, n; unsigned long gedr; + struct irq_chip *chip = irq_desc_get_chip(desc); + + chained_irq_enter(chip, desc); do { loop = 0; @@ -350,6 +355,8 @@ static void pxa_gpio_demux_handler(unsigned int irq, struct irq_desc *desc) } } } while (loop); + + chained_irq_exit(chip, desc); } static void pxa_ack_muxed_gpio(struct irq_data *d)