diff options
author | Varun Wadekar <vwadekar@nvidia.com> | 2011-02-08 10:45:39 +0530 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-02-08 18:20:42 -0800 |
commit | 23340cbd27bc002868c295f5b94eeccb903deb0f (patch) | |
tree | 55726fc29ca056232df272d06cbbd01c4108b856 /drivers | |
parent | 23621efaf95cfaafe45cbb641b47ec781265b6dc (diff) |
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
Change-Id: Ibd006e83028cea5cd251d789d258a5549bfa34ce
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-on: http://git-master/r/18661
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/rtc/rtc-tps6586x.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/rtc/rtc-tps6586x.c b/drivers/rtc/rtc-tps6586x.c index b0625a6215c1..745134b5caef 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; |