cpufreq: Reorder cpufreq_online() error code path
authorViresh Kumar <viresh.kumar@linaro.org>
Thu, 22 Feb 2018 05:59:43 +0000 (11:29 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 May 2018 05:52:38 +0000 (07:52 +0200)
commit602234ea4466443e3b7e6272a806973e7617897c
treee8466cc13bc83d42407a97296606295b013eb636
parent8a6be540377410b5f17f53612674112bc93d80b0
cpufreq: Reorder cpufreq_online() error code path

[ Upstream commit b24b6478e65f140610ab1ffaadc7bc6bf0be8aad ]

Ideally the de-allocation of resources should happen in the exact
opposite order in which they were allocated. It helps maintain the code
in long term, even if nothing really breaks with incorrect ordering.

That wasn't followed in cpufreq_online() and it has some
inconsistencies.  For example, the symlinks were created from within
the locked region while they are removed only after putting the locks.
Also ->exit() should have been called only after the symlinks are
removed and the lock is dropped, as that was the case when ->init()
was first called.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
[ rjw: Subject ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/cpufreq/cpufreq.c