[PATCH 02/10] fix-regulators-gratuitous-resume-isr-bugs.patch

Andy Green andy at openmoko.com
Mon Dec 1 02:25:16 CET 2008


The gratuitous IRQ clearing thing had some problems... the workqueue was
going to put the device and enable the irq...

Signed-off-by: Andy Green <andy at openmoko.com>
---

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

diff --git a/drivers/mfd/pcf50633-core.c b/drivers/mfd/pcf50633-core.c
index 5342915..ec7a772 100644
--- a/drivers/mfd/pcf50633-core.c
+++ b/drivers/mfd/pcf50633-core.c
@@ -458,11 +458,12 @@ static int pcf50633_resume(struct device *dev)
 	pcf50633_write_block(pcf, PCF50633_REG_INT1M, 5,
 					pcf->suspend_irq_masks);
 
+	get_device(pcf->dev);
+
 	/* Clear any pending interrupts and set resume reason if any */
+	/* this will leave with enable_irq() */
 	pcf50633_irq_worker(&pcf->irq_work);
 
-	enable_irq(pcf->irq);
-
 	return 0;
 }
 #else




More information about the openmoko-kernel mailing list