|
@@ -854,6 +854,9 @@ static int cmos_resume(struct device *dev)
|
|
|
}
|
|
|
|
|
|
spin_lock_irq(&rtc_lock);
|
|
|
+ if (device_may_wakeup(dev))
|
|
|
+ hpet_rtc_timer_init();
|
|
|
+
|
|
|
do {
|
|
|
CMOS_WRITE(tmp, RTC_CONTROL);
|
|
|
hpet_set_rtc_irq_bit(tmp & RTC_IRQMASK);
|
|
@@ -869,7 +872,6 @@ static int cmos_resume(struct device *dev)
|
|
|
rtc_update_irq(cmos->rtc, 1, mask);
|
|
|
tmp &= ~RTC_AIE;
|
|
|
hpet_mask_rtc_irq_bit(RTC_AIE);
|
|
|
- hpet_rtc_timer_init();
|
|
|
} while (mask & RTC_AIE);
|
|
|
spin_unlock_irq(&rtc_lock);
|
|
|
}
|