From 0e48e1c6cbf320b1cbc40d690227f951ad3b45dc Mon Sep 17 00:00:00 2001 From: Varun Wadekar Date: Tue, 8 Feb 2011 10:45:39 +0530 Subject: rtc: tps6586x: avoid enabling/disabling of same irq alarm_irq_enable can enable/disable irqs and the same irq will be enabled/disabled in set_alarm. Bug 770380 Original-Change-Id: Ibd006e83028cea5cd251d789d258a5549bfa34ce Signed-off-by: Varun Wadekar Reviewed-on: http://git-master/r/18661 Reviewed-by: Bharat Nihalani Rebase-Id: R9cec649a63d4553d20806804cc5400b6e6ccb60e --- drivers/rtc/rtc-tps6586x.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'drivers/rtc/rtc-tps6586x.c') diff --git a/drivers/rtc/rtc-tps6586x.c b/drivers/rtc/rtc-tps6586x.c index 7d203b37e6e8..d5280d050d4b 100644 --- a/drivers/rtc/rtc-tps6586x.c +++ b/drivers/rtc/rtc-tps6586x.c @@ -212,8 +212,10 @@ static int tps6586x_rtc_alarm_irq_enable(struct device *dev, return err; } - if (!rtc->irq_en) + if (!rtc->irq_en) { enable_irq(rtc->irq); + rtc->irq_en = true; + } } else { err = tps6586x_clr_bits(tps_dev, RTC_CTRL, RTC_ENABLE); if (err < 0) { @@ -221,8 +223,10 @@ static int tps6586x_rtc_alarm_irq_enable(struct device *dev, return err; } - if (rtc->irq_en) + if (rtc->irq_en) { disable_irq(rtc->irq); + rtc->irq_en = false; + } } return 0; -- cgit v1.2.3