diff options
Diffstat (limited to 'drivers/firmware/psci/psci_checker.c')
| -rw-r--r-- | drivers/firmware/psci/psci_checker.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/firmware/psci/psci_checker.c b/drivers/firmware/psci/psci_checker.c index 873841af8d57..d9b1a2d71223 100644 --- a/drivers/firmware/psci/psci_checker.c +++ b/drivers/firmware/psci/psci_checker.c @@ -157,8 +157,10 @@ static int alloc_init_cpu_groups(cpumask_var_t **pcpu_groups)  	cpu_groups = kcalloc(nb_available_cpus, sizeof(cpu_groups),  			     GFP_KERNEL); -	if (!cpu_groups) +	if (!cpu_groups) { +		free_cpumask_var(tmp);  		return -ENOMEM; +	}  	cpumask_copy(tmp, cpu_online_mask); @@ -167,6 +169,7 @@ static int alloc_init_cpu_groups(cpumask_var_t **pcpu_groups)  			topology_core_cpumask(cpumask_any(tmp));  		if (!alloc_cpumask_var(&cpu_groups[num_groups], GFP_KERNEL)) { +			free_cpumask_var(tmp);  			free_cpu_groups(num_groups, &cpu_groups);  			return -ENOMEM;  		}  | 
