|
@@ -315,8 +315,11 @@ acpi_system_write_alarm(struct file *file,
|
|
|
cmos_bcd_write(day, acpi_gbl_FADT.day_alarm, rtc_control);
|
|
|
if (acpi_gbl_FADT.month_alarm)
|
|
|
cmos_bcd_write(mo, acpi_gbl_FADT.month_alarm, rtc_control);
|
|
|
- if (acpi_gbl_FADT.century)
|
|
|
+ if (acpi_gbl_FADT.century) {
|
|
|
+ if (adjust)
|
|
|
+ yr += cmos_bcd_read(acpi_gbl_FADT.century, rtc_control) * 100;
|
|
|
cmos_bcd_write(yr / 100, acpi_gbl_FADT.century, rtc_control);
|
|
|
+ }
|
|
|
/* enable the rtc alarm interrupt */
|
|
|
rtc_control |= RTC_AIE;
|
|
|
CMOS_WRITE(rtc_control, RTC_CONTROL);
|