diff options
| -rw-r--r-- | arch/arm/kernel/smp_twd.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/arch/arm/kernel/smp_twd.c b/arch/arm/kernel/smp_twd.c index 5b150afb995b..fef42b21cecb 100644 --- a/arch/arm/kernel/smp_twd.c +++ b/arch/arm/kernel/smp_twd.c | |||
| @@ -118,14 +118,10 @@ static int twd_cpufreq_transition(struct notifier_block *nb, | |||
| 118 | * The twd clock events must be reprogrammed to account for the new | 118 | * The twd clock events must be reprogrammed to account for the new |
| 119 | * frequency. The timer is local to a cpu, so cross-call to the | 119 | * frequency. The timer is local to a cpu, so cross-call to the |
| 120 | * changing cpu. | 120 | * changing cpu. |
| 121 | * | ||
| 122 | * Only wait for it to finish, if the cpu is active to avoid | ||
| 123 | * deadlock when cpu1 is spinning on while(!cpu_active(cpu1)) during | ||
| 124 | * booting of that cpu. | ||
| 125 | */ | 121 | */ |
| 126 | if (state == CPUFREQ_POSTCHANGE || state == CPUFREQ_RESUMECHANGE) | 122 | if (state == CPUFREQ_POSTCHANGE || state == CPUFREQ_RESUMECHANGE) |
| 127 | smp_call_function_single(freqs->cpu, twd_update_frequency, | 123 | smp_call_function_single(freqs->cpu, twd_update_frequency, |
| 128 | NULL, cpu_active(freqs->cpu)); | 124 | NULL, 1); |
| 129 | 125 | ||
| 130 | return NOTIFY_OK; | 126 | return NOTIFY_OK; |
| 131 | } | 127 | } |
