diff options
author | Ranjani Vaidyanathan <ra5478@freescale.com> | 2013-09-12 15:44:20 -0400 |
---|---|---|
committer | Nitin Garg <nitin.garg@freescale.com> | 2014-04-16 09:05:39 -0400 |
commit | c3a04bd26e9d9e2e160a0535e9ab6114e0efd7a9 (patch) | |
tree | 564c13486d01cb0053fd5c956a8c697af55ab309 | |
parent | 99300e5016058afe08453c79bbf726b4d60dc276 (diff) |
ENGR00279545 [MX6x:Cpufreq] Initialize mutex before driver registration
The mutex, set_cpufreq_lock, should be initialized before the driver is
registered. Else if the default governor is set to performance or ondemand,
the cpufreq driver will try to set the freq to the max freq supported and
this will cause a crash during boot.
Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
-rw-r--r-- | drivers/cpufreq/cpufreq-imx6.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/cpufreq/cpufreq-imx6.c b/drivers/cpufreq/cpufreq-imx6.c index 51861d668ee3..eb7baacf6fdf 100644 --- a/drivers/cpufreq/cpufreq-imx6.c +++ b/drivers/cpufreq/cpufreq-imx6.c | |||
@@ -441,15 +441,15 @@ static int imx6_cpufreq_probe(struct platform_device *pdev) | |||
441 | if (ret > 0) | 441 | if (ret > 0) |
442 | transition_latency += ret * 1000; | 442 | transition_latency += ret * 1000; |
443 | 443 | ||
444 | mutex_init(&set_cpufreq_lock); | ||
445 | register_pm_notifier(&imx6_cpufreq_pm_notifier); | ||
446 | |||
444 | ret = cpufreq_register_driver(&imx6_cpufreq_driver); | 447 | ret = cpufreq_register_driver(&imx6_cpufreq_driver); |
445 | if (ret) { | 448 | if (ret) { |
446 | dev_err(cpu_dev, "failed register driver: %d\n", ret); | 449 | dev_err(cpu_dev, "failed register driver: %d\n", ret); |
447 | goto free_freq_table; | 450 | goto free_freq_table; |
448 | } | 451 | } |
449 | 452 | ||
450 | mutex_init(&set_cpufreq_lock); | ||
451 | register_pm_notifier(&imx6_cpufreq_pm_notifier); | ||
452 | |||
453 | of_node_put(np); | 453 | of_node_put(np); |
454 | return 0; | 454 | return 0; |
455 | 455 | ||