From b508faf746975d4745e0736fb6eae363f155989e Mon Sep 17 00:00:00 2001 From: Andy Green Date: Mon, 1 Dec 2008 01:26:26 +0000 Subject: fix-regulators-gratuitous-resume-isr-bugs.patch 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 --- drivers/mfd/pcf50633-core.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'drivers') diff --git a/drivers/mfd/pcf50633-core.c b/drivers/mfd/pcf50633-core.c index 53429154d7e..ec7a7727228 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 -- cgit v1.2.3