[PATCH] pcf50633: Fix unsafe disable_irq

From: Nelson Castillo
Date: Sat May 09 2009 - 16:22:01 EST


Without this change Openmoko Freerunner (GTA02) bootstrap
will deadlock. As pointed out in other patches this issue is
in the wild since the merge of:

commit 3aa551c9b4c40018f0e261a178e3d25478dc04a9
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Mon Mar 23 18:28:15 2009 +0100

genirq: add threaded interrupt handler support

Add support for threaded interrupt handlers

Signed-off-by: Nelson Castillo <arhuaco@xxxxxxxxxxxxxxxxx>
---

drivers/mfd/pcf50633-core.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/mfd/pcf50633-core.c b/drivers/mfd/pcf50633-core.c
index 7793932..11a6248 100644
--- a/drivers/mfd/pcf50633-core.c
+++ b/drivers/mfd/pcf50633-core.c
@@ -443,7 +443,7 @@ static irqreturn_t pcf50633_irq(int irq, void *data)
dev_dbg(pcf->dev, "pcf50633_irq\n");

get_device(pcf->dev);
- disable_irq(pcf->irq);
+ disable_irq_nosync(pcf->irq);
schedule_work(&pcf->irq_work);

return IRQ_HANDLED;

--
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/