Blackfin: fix wrong place disabled irq
Steven Miao [Mon, 8 Oct 2012 06:18:34 +0000 (14:18 +0800)]
Shouldn't disable irq before send ipi.

Signed-off-by: Steven Miao <realmz6@gmail.com>
Signed-off-by: Bob Liu <lliubbo@gmail.com>

arch/blackfin/kernel/reboot.c
arch/blackfin/mach-common/cpufreq.c

index 5272e6e..c4f50a3 100644 (file)
@@ -86,7 +86,6 @@ void native_machine_restart(char *cmd)
 void machine_restart(char *cmd)
 {
        native_machine_restart(cmd);
-       local_irq_disable();
        if (smp_processor_id())
                smp_call_function((void *)bfin_reset, 0, 1);
        else
index 65a4511..d88bd31 100644 (file)
@@ -134,7 +134,7 @@ static int bfin_target(struct cpufreq_policy *poli,
        unsigned int plldiv;
 #endif
        unsigned int index, cpu;
-       unsigned long flags, cclk_hz;
+       unsigned long cclk_hz;
        struct cpufreq_freqs freqs;
        static unsigned long lpj_ref;
        static unsigned int  lpj_ref_freq;
@@ -165,7 +165,6 @@ static int bfin_target(struct cpufreq_policy *poli,
 
                cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
                if (cpu == CPUFREQ_CPU) {
-                       flags = hard_local_irq_save();
 #ifndef CONFIG_BF60x
                        plldiv = (bfin_read_PLL_DIV() & SSEL) |
                                                dpm_state_table[index].csel;
@@ -194,7 +193,6 @@ static int bfin_target(struct cpufreq_policy *poli,
                                loops_per_jiffy = cpufreq_scale(lpj_ref,
                                                lpj_ref_freq, freqs.new);
                        }
-                       hard_local_irq_restore(flags);
                }
                /* TODO: just test case for cycles clock source, remove later */
                cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);