]> git.hungrycats.org Git - linux/commit
cpufreq: unlock when failing cpufreq_update_policy()
authorAaron Plattner <aplattner@nvidia.com>
Wed, 18 Jun 2014 18:27:32 +0000 (11:27 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 Jul 2014 01:59:12 +0000 (18:59 -0700)
commitdd0bcbeae6ddc9658b1738ab5499cf379d5d418e
tree2e2d55101617d9f4ce6759d1222deb4d7f197372
parent328484c47819ed474534e56deee41c5c6c76ad19
cpufreq: unlock when failing cpufreq_update_policy()

commit fefa8ff810c5ab4c4206aed9d159c4d6fe8d4f1c upstream.

Commit bd0fa9bb455d introduced a failure path to cpufreq_update_policy() if
cpufreq_driver->get(cpu) returns NULL.  However, it jumps to the 'no_policy'
label, which exits without unlocking any of the locks the function acquired
earlier.  This causes later calls into cpufreq to hang.

Fix this by creating a new 'unlock' label and jumping to that instead.

Fixes: bd0fa9bb455d ("cpufreq: Return error if ->get() failed in cpufreq_update_policy()")
Link: https://devtalk.nvidia.com/default/topic/751903/kernel-3-15-and-nv-drivers-337-340-failed-to-initialize-the-nvidia-kernel-module-gtx-550-ti-/
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/cpufreq/cpufreq.c