patch-2.2.18 linux/arch/alpha/kernel/time.c
Next file: linux/arch/alpha/lib/csum_partial_copy.c
Previous file: linux/arch/alpha/kernel/smp.c
Back to the patch index
Back to the overall index
- Lines: 25
- Date:
Tue Sep 12 13:14:57 2000
- Orig file:
v2.2.17/arch/alpha/kernel/time.c
- Orig date:
Sun Jun 11 21:44:09 2000
diff -u --new-file --recursive --exclude-from /usr/src/exclude v2.2.17/arch/alpha/kernel/time.c linux/arch/alpha/kernel/time.c
@@ -47,6 +47,7 @@
static int set_rtc_mmss(unsigned long);
+spinlock_t rtc_lock = SPIN_LOCK_UNLOCKED;
/*
* Shift amount by which scaled_ticks_per_cycle is scaled. Shifting
@@ -455,6 +456,8 @@
int real_seconds, real_minutes, cmos_minutes;
unsigned char save_control, save_freq_select;
+ /* irq are locally disabled here */
+ spin_lock(&rtc_lock);
/* Tell the clock it's being set */
save_control = CMOS_READ(RTC_CONTROL);
CMOS_WRITE((save_control|RTC_SET), RTC_CONTROL);
@@ -504,6 +507,7 @@
*/
CMOS_WRITE(save_control, RTC_CONTROL);
CMOS_WRITE(save_freq_select, RTC_FREQ_SELECT);
+ spin_unlock(&rtc_lock);
return retval;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)