[PATCH 2/2] mtd: onenand: samsung: return an error if 'mtd_device_parse_register()' fails

Boris Brezillon boris.brezillon at free-electrons.com
Fri Dec 8 13:24:34 PST 2017


On Fri,  8 Dec 2017 22:11:05 +0100
Christophe JAILLET <christophe.jaillet at wanadoo.fr> 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 <christophe.jaillet at wanadoo.fr>
> ---
> 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);
>  




More information about the linux-mtd mailing list