summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Frysinger <vapier.adi@gmail.com>2008-08-05 13:01:20 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-08-05 14:33:48 -0700
commit140fab14aef093cedf87f69234474c04fdcec99c (patch)
tree6b7f39dfb95a8db26296e621292b4ff2783ab092
parent3b128fe04a3087d6e974b87402dc6e75d3142186 (diff)
blackfin RTC driver: wait for the write complete interrupt complete before sleeping
Since we use the write complete interrupt, wait for it to complete before sleeping so we don't wake right back up due to it Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Cc: David Brownell <david-b@pacbell.net> Cc: Alessandro Zummo <a.zummo@towertech.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/rtc/rtc-bfin.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/rtc/rtc-bfin.c b/drivers/rtc/rtc-bfin.c
index d53772f59ce..e6b0470063e 100644
--- a/drivers/rtc/rtc-bfin.c
+++ b/drivers/rtc/rtc-bfin.c
@@ -435,9 +435,10 @@ static int __devexit bfin_rtc_remove(struct platform_device *pdev)
#ifdef CONFIG_PM
static int bfin_rtc_suspend(struct platform_device *pdev, pm_message_t state)
{
- if (device_may_wakeup(&pdev->dev))
+ if (device_may_wakeup(&pdev->dev)) {
enable_irq_wake(IRQ_RTC);
- else
+ bfin_rtc_sync_pending(&pdev->dev);
+ } else
bfin_rtc_int_clear(-1);
return 0;