[PATCH v2] mtd: orion_nand: fix error code path in probe

Jingoo Han jg1.han at samsung.com
Thu Oct 16 00:39:30 PDT 2014


On Thursday, October 16, 2014 1:59 PM, Michael Opdenacker wrote:
> 
> This replaces kzalloc() and ioremap() calls by devm_ functions
> in the probe() routine, which automatically release the corresponding
> resources when probe() fails or when the device is removed.
> 
> This simplifies simplifies the error management code, and brings
> the below improvements or changes:
> 
> A. Fixing a bug reported by "make coccicheck":
> 
> If "board = devm_kzalloc()" fails, the probe() function jumps
> incorrectly to label "no_res" and therefore returns without
> running iounmap().
> 
> B. Requesting the memory region
> 
> Using devm_ioremap_resource() makes the probe() function request
> the corresponding memory region before running ioremap(), as
> it is supposed to do.
> 
> C. Standardizing the error codes:
> 
> The use of devm_ioremap_resource() changes the return value:
>  * -ENOMEM instead of -EIO in case of ioremap() failure,
>  * -EINVAL instead of -ENODEV in case of platform_get_resource()
>    failure.
> 
> Signed-off-by: Michael Opdenacker <michael.opdenacker at free-electrons.com>

Reviewed-by: Jingoo Han <jg1.han at samsung.com>

Best regards,
Jingoo Han

> ---
>  drivers/mtd/nand/orion_nand.c | 39 +++++++++++----------------------------
>  1 file changed, 11 insertions(+), 28 deletions(-)





More information about the linux-mtd mailing list