]> 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>
Sat, 14 Dec 2024 18:51:01 +0000 (19:51 +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 afc59b292153d3f2ad367b95c21fa1075f48dd64..63cae4037deb13d22e4e2749cfaad547368bd8ee 100644 (file)
@@ -154,7 +154,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;
        }