[PATCH 2/2] ARM: davinci: PM: Do not free useful resources in normal path in 'davinci_pm_init'

Christophe JAILLET christophe.jaillet at wanadoo.fr
Sat May 13 09:44:46 PDT 2017


Le 13/05/2017 à 15:22, walter harms a écrit :
>
> Am 13.05.2017 13:40, schrieb Christophe JAILLET:
>> This looks spurious to iounmap resources in the normal path of this init
>> function.
>> The 3 ioremap'ed fields of 'pm_config' can be accessed later on in other
>> functions, so it is likely that we should return 'success' before unrolling
>> everything.
>>
>> Fixes: aa9aa1ec2df6 ("ARM: davinci: PM: rework init, remove platform device")
>> Signed-off-by: Christophe JAILLET <christophe.jaillet at wanadoo.fr>
>> ---
>> This patch is just a *guess*. The end of the function looks more like a
>> error handling code rather than a normal path.
>> ---
>>   arch/arm/mach-davinci/pm.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/arm/mach-davinci/pm.c b/arch/arm/mach-davinci/pm.c
>> index d282b0783ecf..163d865abbf9 100644
>> --- a/arch/arm/mach-davinci/pm.c
>> +++ b/arch/arm/mach-davinci/pm.c
>> @@ -161,6 +161,7 @@ int __init davinci_pm_init(void)
>>   						davinci_cpu_suspend_sz);
>>   
>>   	suspend_set_ops(&davinci_pm_ops);
>> +	return 0;
>>   
>>   no_sram_mem:
>>   	iounmap(pm_config.ddrpsc_reg_base);
>
> looks like, but that would mean that is wrong also:
>
> 	davinci_sram_suspend = sram_alloc(davinci_cpu_suspend_sz, NULL);
> 	if (!davinci_sram_suspend) {
> 		pr_err("PM: cannot allocate SRAM memory\n");
> 		return -ENOMEM;
> 	}
>
> what means 1 iounmap missing.
>
> re,
>   wh
>
This is what I try to fix in the [1/2] patch.

CJ




More information about the linux-arm-kernel mailing list