diff options
Diffstat (limited to 'arch/mips/kernel')
-rw-r--r-- | arch/mips/kernel/ioctl32.c | 4 | ||||
-rw-r--r-- | arch/mips/kernel/process.c | 2 | ||||
-rw-r--r-- | arch/mips/kernel/smp.c | 4 |
3 files changed, 6 insertions, 4 deletions
diff --git a/arch/mips/kernel/ioctl32.c b/arch/mips/kernel/ioctl32.c index ed9b2da510be..9ea1fc748864 100644 --- a/arch/mips/kernel/ioctl32.c +++ b/arch/mips/kernel/ioctl32.c | |||
@@ -26,10 +26,8 @@ long sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg); | |||
26 | #define CODE | 26 | #define CODE |
27 | #include "compat_ioctl.c" | 27 | #include "compat_ioctl.c" |
28 | 28 | ||
29 | typedef int (* ioctl32_handler_t)(unsigned int, unsigned int, unsigned long, struct file *); | ||
30 | |||
31 | #define COMPATIBLE_IOCTL(cmd) HANDLE_IOCTL((cmd),sys_ioctl) | 29 | #define COMPATIBLE_IOCTL(cmd) HANDLE_IOCTL((cmd),sys_ioctl) |
32 | #define HANDLE_IOCTL(cmd,handler) { (cmd), (ioctl32_handler_t)(handler), NULL }, | 30 | #define HANDLE_IOCTL(cmd,handler) { (cmd), (ioctl_trans_handler_t)(handler), NULL }, |
33 | #define IOCTL_TABLE_START \ | 31 | #define IOCTL_TABLE_START \ |
34 | struct ioctl_trans ioctl_start[] = { | 32 | struct ioctl_trans ioctl_start[] = { |
35 | #define IOCTL_TABLE_END \ | 33 | #define IOCTL_TABLE_END \ |
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c index 4fe3d5715c41..dd725779d91f 100644 --- a/arch/mips/kernel/process.c +++ b/arch/mips/kernel/process.c | |||
@@ -52,7 +52,9 @@ ATTRIB_NORET void cpu_idle(void) | |||
52 | while (!need_resched()) | 52 | while (!need_resched()) |
53 | if (cpu_wait) | 53 | if (cpu_wait) |
54 | (*cpu_wait)(); | 54 | (*cpu_wait)(); |
55 | preempt_enable_no_resched(); | ||
55 | schedule(); | 56 | schedule(); |
57 | preempt_disable(); | ||
56 | } | 58 | } |
57 | } | 59 | } |
58 | 60 | ||
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c index fcacf1aae98a..25472fcaf715 100644 --- a/arch/mips/kernel/smp.c +++ b/arch/mips/kernel/smp.c | |||
@@ -82,7 +82,7 @@ extern ATTRIB_NORET void cpu_idle(void); | |||
82 | */ | 82 | */ |
83 | asmlinkage void start_secondary(void) | 83 | asmlinkage void start_secondary(void) |
84 | { | 84 | { |
85 | unsigned int cpu = smp_processor_id(); | 85 | unsigned int cpu; |
86 | 86 | ||
87 | cpu_probe(); | 87 | cpu_probe(); |
88 | cpu_report(); | 88 | cpu_report(); |
@@ -95,6 +95,8 @@ asmlinkage void start_secondary(void) | |||
95 | */ | 95 | */ |
96 | 96 | ||
97 | calibrate_delay(); | 97 | calibrate_delay(); |
98 | preempt_disable(); | ||
99 | cpu = smp_processor_id(); | ||
98 | cpu_data[cpu].udelay_val = loops_per_jiffy; | 100 | cpu_data[cpu].udelay_val = loops_per_jiffy; |
99 | 101 | ||
100 | prom_smp_finish(); | 102 | prom_smp_finish(); |