aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2016-11-22 16:15:59 -0500
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2016-11-24 15:58:31 -0500
commita74f43675790ae55b908940652b4b04b236d8f18 (patch)
treed189b5b172644d771f5053c36a2dae80e84f5a7b
parentbed5ab6375cd556d93661bbcea0d18c109c50df1 (diff)
powercap/intel_rapl: Propagate error code when registration fails
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>
-rw-r--r--drivers/powercap/intel_rapl.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/powercap/intel_rapl.c b/drivers/powercap/intel_rapl.c
index 94b9901d192f..79b1e041f2ec 100644
--- a/drivers/powercap/intel_rapl.c
+++ b/drivers/powercap/intel_rapl.c
@@ -1563,9 +1563,8 @@ static void rapl_remove_package(struct rapl_package *rp)
1563/* called from CPU hotplug notifier, hotplug lock held */ 1563/* called from CPU hotplug notifier, hotplug lock held */
1564static int rapl_add_package(int cpu) 1564static int rapl_add_package(int cpu)
1565{ 1565{
1566 int ret = 0;
1567 int phy_package_id;
1568 struct rapl_package *rp; 1566 struct rapl_package *rp;
1567 int ret, phy_package_id;
1569 1568
1570 phy_package_id = topology_physical_package_id(cpu); 1569 phy_package_id = topology_physical_package_id(cpu);
1571 rp = kzalloc(sizeof(struct rapl_package), GFP_KERNEL); 1570 rp = kzalloc(sizeof(struct rapl_package), GFP_KERNEL);
@@ -1583,10 +1582,11 @@ static int rapl_add_package(int cpu)
1583 ret = -ENODEV; 1582 ret = -ENODEV;
1584 goto err_free_package; 1583 goto err_free_package;
1585 } 1584 }
1586 if (!rapl_package_register_powercap(rp)) { 1585 ret = rapl_package_register_powercap(rp);
1586 if (!ret) {
1587 INIT_LIST_HEAD(&rp->plist); 1587 INIT_LIST_HEAD(&rp->plist);
1588 list_add(&rp->plist, &rapl_packages); 1588 list_add(&rp->plist, &rapl_packages);
1589 return ret; 1589 return 0;
1590 } 1590 }
1591 1591
1592err_free_package: 1592err_free_package: