|
@@ -804,9 +804,8 @@ static int cmos_suspend(struct device *dev)
|
|
|
mask = RTC_IRQMASK;
|
|
|
tmp &= ~mask;
|
|
|
CMOS_WRITE(tmp, RTC_CONTROL);
|
|
|
+ hpet_mask_rtc_irq_bit(mask);
|
|
|
|
|
|
- /* shut down hpet emulation - we don't need it for alarm */
|
|
|
- hpet_mask_rtc_irq_bit(RTC_PIE|RTC_AIE|RTC_UIE);
|
|
|
cmos_checkintr(cmos, tmp);
|
|
|
}
|
|
|
spin_unlock_irq(&rtc_lock);
|
|
@@ -870,6 +869,7 @@ 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);
|
|
|
}
|