diff --git a/[refs] b/[refs] index cfe02fda160d..42bf7e9e52c4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c0ba7e5147829eaa607351997bccd06200a8db12 +refs/heads/master: 0b16f21f144010aa627c58b3a33be49ebfd685dc diff --git a/trunk/drivers/char/rtc.c b/trunk/drivers/char/rtc.c index 6e6a7c7a7eff..ab6429b4a84e 100644 --- a/trunk/drivers/char/rtc.c +++ b/trunk/drivers/char/rtc.c @@ -209,11 +209,12 @@ static const unsigned char days_in_mo[] = */ static inline unsigned char rtc_is_updating(void) { + unsigned long flags; unsigned char uip; - spin_lock_irq(&rtc_lock); + spin_lock_irqsave(&rtc_lock, flags); uip = (CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP); - spin_unlock_irq(&rtc_lock); + spin_unlock_irqrestore(&rtc_lock, flags); return uip; }