]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
ARM: OMAP: Fix inconsistency of completion in retu-rtc
authorHiroshi DOYU <Hiroshi.DOYU@nokia.com>
Wed, 15 Aug 2007 06:40:38 +0000 (09:40 +0300)
committerTony Lindgren <tony@atomide.com>
Wed, 15 Aug 2007 10:53:22 +0000 (03:53 -0700)
There was the case that multiple users can wait for completion.

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
drivers/cbus/retu-rtc.c

index b36fd06323a923e1a63aae948c7365496f341567..5d435201969b5677924341555d45f4c794093a46 100644 (file)
@@ -328,7 +328,7 @@ DECLARE_WORK(retu_rtca_work, retu_rtca_expired);
 static void retu_rtcs_interrupt(unsigned long unused)
 {
        retu_ack_irq(RETU_INT_RTCS);
-       complete(&retu_rtc_sync);
+       complete_all(&retu_rtc_sync);
 }
 
 static void retu_rtca_interrupt(unsigned long unused)
@@ -435,7 +435,7 @@ static struct platform_device retu_rtc_device = {
 /* This function provides syncronization with the RTCS interrupt handler */
 static void retu_rtc_barrier(void)
 {
-       init_completion(&retu_rtc_sync);
+       INIT_COMPLETION(retu_rtc_sync);
        retu_ack_irq(RETU_INT_RTCS);
        retu_enable_irq(RETU_INT_RTCS);
        wait_for_completion(&retu_rtc_sync);