* [PATCH] Thermal: Tidy up error handling in powerclamp_init
@ 2013-10-04 16:23 Durgadoss R
2013-10-04 16:37 ` Jacob Pan
2013-10-09 4:18 ` Zhang Rui
0 siblings, 2 replies; 3+ messages in thread
From: Durgadoss R @ 2013-10-04 16:23 UTC (permalink / raw)
To: rui.zhang, eduardo.valentin, linux-pm; +Cc: jacob.jun.pan, Durgadoss R
This patch
* adds missing kfree() for cpu_clamping_mask
* adds return value checking for alloc_percpu()
* unregister hotcpu notifier in exit path
Signed-off-by: Durgadoss R <durgadoss.r@intel.com>
---
drivers/thermal/intel_powerclamp.c | 24 +++++++++++++++++++++---
1 file changed, 21 insertions(+), 3 deletions(-)
diff --git a/drivers/thermal/intel_powerclamp.c b/drivers/thermal/intel_powerclamp.c
index b40b37c..a7cd170 100644
--- a/drivers/thermal/intel_powerclamp.c
+++ b/drivers/thermal/intel_powerclamp.c
@@ -758,21 +758,39 @@ static int powerclamp_init(void)
/* probe cpu features and ids here */
retval = powerclamp_probe();
if (retval)
- return retval;
+ goto exit_free;
+
/* set default limit, maybe adjusted during runtime based on feedback */
window_size = 2;
register_hotcpu_notifier(&powerclamp_cpu_notifier);
+
powerclamp_thread = alloc_percpu(struct task_struct *);
+ if (!powerclamp_thread) {
+ retval = -ENOMEM;
+ goto exit_unregister;
+ }
+
cooling_dev = thermal_cooling_device_register("intel_powerclamp", NULL,
&powerclamp_cooling_ops);
- if (IS_ERR(cooling_dev))
- return -ENODEV;
+ if (IS_ERR(cooling_dev)) {
+ retval = -ENODEV;
+ goto exit_free_thread;
+ }
if (!duration)
duration = jiffies_to_msecs(DEFAULT_DURATION_JIFFIES);
+
powerclamp_create_debug_files();
return 0;
+
+exit_free_thread:
+ free_percpu(powerclamp_thread);
+exit_unregister:
+ unregister_hotcpu_notifier(&powerclamp_cpu_notifier);
+exit_free:
+ kfree(cpu_clamping_mask);
+ return retval;
}
module_init(powerclamp_init);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] Thermal: Tidy up error handling in powerclamp_init
2013-10-04 16:23 [PATCH] Thermal: Tidy up error handling in powerclamp_init Durgadoss R
@ 2013-10-04 16:37 ` Jacob Pan
2013-10-09 4:18 ` Zhang Rui
1 sibling, 0 replies; 3+ messages in thread
From: Jacob Pan @ 2013-10-04 16:37 UTC (permalink / raw)
To: Durgadoss R; +Cc: rui.zhang, eduardo.valentin, linux-pm
On Fri, 4 Oct 2013 21:53:24 +0530
Durgadoss R <durgadoss.r@intel.com> wrote:
> This patch
> * adds missing kfree() for cpu_clamping_mask
> * adds return value checking for alloc_percpu()
> * unregister hotcpu notifier in exit path
looks good. thanks for the fix.
Jacob
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Thermal: Tidy up error handling in powerclamp_init
2013-10-04 16:23 [PATCH] Thermal: Tidy up error handling in powerclamp_init Durgadoss R
2013-10-04 16:37 ` Jacob Pan
@ 2013-10-09 4:18 ` Zhang Rui
1 sibling, 0 replies; 3+ messages in thread
From: Zhang Rui @ 2013-10-09 4:18 UTC (permalink / raw)
To: Durgadoss R; +Cc: eduardo.valentin, linux-pm, jacob.jun.pan
On Fri, 2013-10-04 at 21:53 +0530, Durgadoss R wrote:
> This patch
> * adds missing kfree() for cpu_clamping_mask
> * adds return value checking for alloc_percpu()
> * unregister hotcpu notifier in exit path
>
> Signed-off-by: Durgadoss R <durgadoss.r@intel.com>
applied to thermal -next.
thanks,
rui
> ---
> drivers/thermal/intel_powerclamp.c | 24 +++++++++++++++++++++---
> 1 file changed, 21 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/thermal/intel_powerclamp.c b/drivers/thermal/intel_powerclamp.c
> index b40b37c..a7cd170 100644
> --- a/drivers/thermal/intel_powerclamp.c
> +++ b/drivers/thermal/intel_powerclamp.c
> @@ -758,21 +758,39 @@ static int powerclamp_init(void)
> /* probe cpu features and ids here */
> retval = powerclamp_probe();
> if (retval)
> - return retval;
> + goto exit_free;
> +
> /* set default limit, maybe adjusted during runtime based on feedback */
> window_size = 2;
> register_hotcpu_notifier(&powerclamp_cpu_notifier);
> +
> powerclamp_thread = alloc_percpu(struct task_struct *);
> + if (!powerclamp_thread) {
> + retval = -ENOMEM;
> + goto exit_unregister;
> + }
> +
> cooling_dev = thermal_cooling_device_register("intel_powerclamp", NULL,
> &powerclamp_cooling_ops);
> - if (IS_ERR(cooling_dev))
> - return -ENODEV;
> + if (IS_ERR(cooling_dev)) {
> + retval = -ENODEV;
> + goto exit_free_thread;
> + }
>
> if (!duration)
> duration = jiffies_to_msecs(DEFAULT_DURATION_JIFFIES);
> +
> powerclamp_create_debug_files();
>
> return 0;
> +
> +exit_free_thread:
> + free_percpu(powerclamp_thread);
> +exit_unregister:
> + unregister_hotcpu_notifier(&powerclamp_cpu_notifier);
> +exit_free:
> + kfree(cpu_clamping_mask);
> + return retval;
> }
> module_init(powerclamp_init);
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-10-09 4:18 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-04 16:23 [PATCH] Thermal: Tidy up error handling in powerclamp_init Durgadoss R
2013-10-04 16:37 ` Jacob Pan
2013-10-09 4:18 ` Zhang Rui
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).