On Fri,  8 Dec 2017 22:11:05 +0100
Christophe JAILLET <[email protected]> wrote:

> If 'mtd_device_parse_register()' fails, we still return 0 which mean
> success.
> Return the error code instead, as done in all the other error handling
> paths.
> 
> Signed-off-by: Christophe JAILLET <[email protected]>
> ---
> Compile tested-only
> ---
>  drivers/mtd/onenand/samsung.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/mtd/onenand/samsung.c b/drivers/mtd/onenand/samsung.c
> index 04039b967d59..5410e654d3cf 100644
> --- a/drivers/mtd/onenand/samsung.c
> +++ b/drivers/mtd/onenand/samsung.c
> @@ -987,6 +987,10 @@ static int s3c_onenand_probe(struct platform_device 
> *pdev)
>       err = mtd_device_parse_register(mtd, NULL, NULL,
>                                       pdata ? pdata->parts : NULL,
>                                       pdata ? pdata->nr_parts : 0);
> +     if (err) {
> +             dev_err(&pdev->dev, "failed to parse partitions and register 
> the MTD device\n");

And you should call onenand_release() here, to release the resources
allocated in onenand_scan().

> +             return err;
> +     }
>  
>       platform_set_drvdata(pdev, mtd);
>  

Reply via email to