Re: [PATCH] mtd: onenand: Fix an error handling path in 's3c_onenand_probe(()'

From: Boris Brezillon
Date: Thu Dec 07 2017 - 11:56:02 EST


On Sat, 18 Nov 2017 14:27:23 +0100
Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> wrote:

> If 'platform_get_resource()' fails, we have to go through the error
> handling path to release some resources.
>
> The unreachable 'goto ahb_resource_failed' is also wrong here and we should
> go to 'resource_failed' instead.
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
> ---
> drivers/mtd/onenand/samsung.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mtd/onenand/samsung.c b/drivers/mtd/onenand/samsung.c
> index af0ac1a7bf8f..164ebe2b1137 100644
> --- a/drivers/mtd/onenand/samsung.c
> +++ b/drivers/mtd/onenand/samsung.c
> @@ -872,8 +872,8 @@ static int s3c_onenand_probe(struct platform_device *pdev)
> r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> if (!r) {
> dev_err(&pdev->dev, "no memory resource defined\n");
> - return -ENOENT;
> - goto ahb_resource_failed;
> + err = -ENOENT;
> + goto resource_failed;
> }
>

Sorry but I'd really prefer to convert the driver to use devm_
functions instead of fixing a single error path.

> onenand->base_res = request_mem_region(r->start, resource_size(r),