[PATCH] mtd: nand: nandsim: fix error check

Marek Vasut marek.vasut at gmail.com
Tue Nov 15 15:42:37 PST 2016


On 11/16/2016 12:09 AM, Sudip Mukherjee wrote:
> debugfs_create_dir() and debugfs_create_file() returns NULL on error or
> a pointer on success. They do not return the error value with ERR_PTR.
> So we should not check the return with IS_ERR_OR_NULL, instead we
> should just check for NULL.
> 
> Signed-off-by: Sudip Mukherjee <sudip.mukherjee at codethink.co.uk>
> ---
>  drivers/mtd/nand/nandsim.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/mtd/nand/nandsim.c b/drivers/mtd/nand/nandsim.c
> index c76287a..9b0d79a 100644
> --- a/drivers/mtd/nand/nandsim.c
> +++ b/drivers/mtd/nand/nandsim.c
> @@ -525,15 +525,13 @@ static int nandsim_debugfs_create(struct nandsim *dev)
>  {
>  	struct nandsim_debug_info *dbg = &dev->dbg;
>  	struct dentry *dent;
> -	int err;
> +	int err = -ENODEV;

Why don't you just nuke the err altogether and just return -ENODEV ?

>  	if (!IS_ENABLED(CONFIG_DEBUG_FS))
>  		return 0;
>  
>  	dent = debugfs_create_dir("nandsim", NULL);
> -	if (IS_ERR_OR_NULL(dent)) {
> -		int err = dent ? -ENODEV : PTR_ERR(dent);
> -
> +	if (!dent) {
>  		NS_ERR("cannot create \"nandsim\" debugfs directory, err %d\n",
>  			err);
>  		return err;
> @@ -542,7 +540,7 @@ static int nandsim_debugfs_create(struct nandsim *dev)
>  
>  	dent = debugfs_create_file("wear_report", S_IRUSR,
>  				   dbg->dfs_root, dev, &dfs_fops);
> -	if (IS_ERR_OR_NULL(dent))
> +	if (!dent)
>  		goto out_remove;
>  	dbg->dfs_wear_report = dent;
>  
> @@ -550,7 +548,6 @@ static int nandsim_debugfs_create(struct nandsim *dev)
>  
>  out_remove:
>  	debugfs_remove_recursive(dbg->dfs_root);
> -	err = dent ? PTR_ERR(dent) : -ENODEV;
>  	return err;
>  }
>  
> 


-- 
Best regards,
Marek Vasut



More information about the linux-mtd mailing list