Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754484AbcKOXmp (ORCPT ); Tue, 15 Nov 2016 18:42:45 -0500 Received: from mail-wm0-f65.google.com ([74.125.82.65]:35356 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753737AbcKOXmm (ORCPT ); Tue, 15 Nov 2016 18:42:42 -0500 Subject: Re: [PATCH] mtd: nand: nandsim: fix error check To: Sudip Mukherjee , Boris Brezillon , Richard Weinberger , David Woodhouse , Brian Norris , Cyrille Pitchen References: <1479251395-3100-1-git-send-email-sudipm.mukherjee@gmail.com> Cc: linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org From: Marek Vasut Message-ID: <0ad0b3d4-bde6-57ab-6856-de771ade3c32@gmail.com> Date: Wed, 16 Nov 2016 00:42:37 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.4.0 MIME-Version: 1.0 In-Reply-To: <1479251395-3100-1-git-send-email-sudipm.mukherjee@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1731 Lines: 58 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 > --- > 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