powercap/intel_rapl: Propagate error code when registration fails
authorThomas Gleixner <tglx@linutronix.de>
Tue, 22 Nov 2016 21:15:59 +0000 (21:15 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 24 Nov 2016 20:58:31 +0000 (21:58 +0100)
If rapl_package_register_powercap() fails in rapl_add_package() the
function happily returns 0.

Capture the error code and propagate it.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/powercap/intel_rapl.c

index 94b9901..79b1e04 100644 (file)
@@ -1563,9 +1563,8 @@ static void rapl_remove_package(struct rapl_package *rp)
 /* called from CPU hotplug notifier, hotplug lock held */
 static int rapl_add_package(int cpu)
 {
-       int ret = 0;
-       int phy_package_id;
        struct rapl_package *rp;
+       int ret, phy_package_id;
 
        phy_package_id = topology_physical_package_id(cpu);
        rp = kzalloc(sizeof(struct rapl_package), GFP_KERNEL);
@@ -1583,10 +1582,11 @@ static int rapl_add_package(int cpu)
                ret = -ENODEV;
                goto err_free_package;
        }
-       if (!rapl_package_register_powercap(rp)) {
+       ret = rapl_package_register_powercap(rp);
+       if (!ret) {
                INIT_LIST_HEAD(&rp->plist);
                list_add(&rp->plist, &rapl_packages);
-               return ret;
+               return 0;
        }
 
 err_free_package: