From: Viresh Kumar <viresh.kumar@linaro.org>
Date: Thu, 17 Jul 2014 05:18:27 +0000 (+0530)
Subject: cpufreq: propagate error returned by kobject_move()
X-Git-Tag: firefly_0821_release~176^2~3381^2~1^3~6
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=41dfd908fc09e0e57f8f44fdcf543348cd5f249c;p=firefly-linux-kernel-4.4.55.git

cpufreq: propagate error returned by kobject_move()

We are returning -EINVAL instead of the error returned from kobject_move() when
it fails. Propagate the actual error number.

Also add a meaningful print when sysfs_create_link() fails.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---

diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index e572d51db945..ec25ca607679 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -1322,10 +1322,12 @@ static int cpufreq_nominate_new_policy_cpu(struct cpufreq_policy *policy,
 	ret = kobject_move(&policy->kobj, &cpu_dev->kobj);
 	if (ret) {
 		pr_err("%s: Failed to move kobj: %d\n", __func__, ret);
-		ret = sysfs_create_link(&cpu_dev->kobj, &policy->kobj,
-					"cpufreq");
 
-		return -EINVAL;
+		if (sysfs_create_link(&cpu_dev->kobj, &policy->kobj, "cpufreq"))
+			pr_err("%s: Failed to restore kobj link to cpu:%d\n",
+			       __func__, cpu_dev->id);
+
+		return ret;
 	}
 
 	return cpu_dev->id;