]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
cpufreq: loongson2: Unregister platform_driver on failure
authorYuan Can <yuancan@huawei.com>
Wed, 16 Oct 2024 09:06:15 +0000 (17:06 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2024 12:53:32 +0000 (13:53 +0100)
[ Upstream commit 5f856d71ccdf89b4bac0ff70ebb0bb582e7f7f18 ]

When cpufreq_register_driver() returns error, the cpufreq_init() returns
without unregister platform_driver, fix by add missing
platform_driver_unregister() when cpufreq_register_driver() failed.

Fixes: f8ede0f700f5 ("MIPS: Loongson 2F: Add CPU frequency scaling support")
Signed-off-by: Yuan Can <yuancan@huawei.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/cpufreq/loongson2_cpufreq.c

index 6a8e97896d38ca96a69795b64cfcacd8fb8f374f..ed1a6dbad63894f61605897006ffc4a898a2f9e7 100644 (file)
@@ -148,7 +148,9 @@ static int __init cpufreq_init(void)
 
        ret = cpufreq_register_driver(&loongson2_cpufreq_driver);
 
-       if (!ret && !nowait) {
+       if (ret) {
+               platform_driver_unregister(&platform_driver);
+       } else if (!nowait) {
                saved_cpu_wait = cpu_wait;
                cpu_wait = loongson2_cpu_wait;
        }