diff options
Diffstat (limited to 'arch/m68knommu/kernel/time.c')
-rw-r--r-- | arch/m68knommu/kernel/time.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/arch/m68knommu/kernel/time.c b/arch/m68knommu/kernel/time.c index a90acf5b0cde..d6ac2a43453c 100644 --- a/arch/m68knommu/kernel/time.c +++ b/arch/m68knommu/kernel/time.c | |||
@@ -50,9 +50,8 @@ irqreturn_t arch_timer_interrupt(int irq, void *dummy) | |||
50 | 50 | ||
51 | write_sequnlock(&xtime_lock); | 51 | write_sequnlock(&xtime_lock); |
52 | 52 | ||
53 | #ifndef CONFIG_SMP | ||
54 | update_process_times(user_mode(get_irq_regs())); | 53 | update_process_times(user_mode(get_irq_regs())); |
55 | #endif | 54 | |
56 | return(IRQ_HANDLED); | 55 | return(IRQ_HANDLED); |
57 | } | 56 | } |
58 | #endif | 57 | #endif |
@@ -61,13 +60,16 @@ static unsigned long read_rtc_mmss(void) | |||
61 | { | 60 | { |
62 | unsigned int year, mon, day, hour, min, sec; | 61 | unsigned int year, mon, day, hour, min, sec; |
63 | 62 | ||
64 | if (mach_gettod) | 63 | if (mach_gettod) { |
65 | mach_gettod(&year, &mon, &day, &hour, &min, &sec); | 64 | mach_gettod(&year, &mon, &day, &hour, &min, &sec); |
66 | else | 65 | if ((year += 1900) < 1970) |
67 | year = mon = day = hour = min = sec = 0; | 66 | year += 100; |
67 | } else { | ||
68 | year = 1970; | ||
69 | mon = day = 1; | ||
70 | hour = min = sec = 0; | ||
71 | } | ||
68 | 72 | ||
69 | if ((year += 1900) < 1970) | ||
70 | year += 100; | ||
71 | 73 | ||
72 | return mktime(year, mon, day, hour, min, sec); | 74 | return mktime(year, mon, day, hour, min, sec); |
73 | } | 75 | } |