diff options
Diffstat (limited to 'drivers/base/power/domain.c')
| -rw-r--r-- | drivers/base/power/domain.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c index c22b869245d..96b71b6536d 100644 --- a/drivers/base/power/domain.c +++ b/drivers/base/power/domain.c @@ -1862,7 +1862,7 @@ int pm_genpd_attach_cpuidle(struct generic_pm_domain *genpd, int state)  	cpuidle_drv = cpuidle_driver_ref();  	if (!cpuidle_drv) {  		ret = -ENODEV; -		goto out; +		goto err_drv;  	}  	if (cpuidle_drv->state_count <= state) {  		ret = -EINVAL; @@ -1884,6 +1884,9 @@ int pm_genpd_attach_cpuidle(struct generic_pm_domain *genpd, int state)   err:  	cpuidle_driver_unref(); + + err_drv: +	kfree(cpu_data);  	goto out;  }  |