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

Jingoo Han
2014-10-16T07:39:57Z

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@free-electrons.com>

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

Best regards,
Jingoo Han

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