[PATCH] staging: unisys: Properly test debugfs_create_dir() return values

From: Fabio M. De Francesco
Date: Tue Mar 22 2022 - 04:39:11 EST


debugfs_create_dir() returns a pointers to a dentry objects. On failures
it returns errors. Currently the values returned to visornic_probe()
seem to be tested for being equal to NULL in case of failures.

Properly test with "if (IS_ERR())" and then assign the correct error
value to the "err" variable.

Signed-off-by: Fabio M. De Francesco <fmdefrancesco@xxxxxxxxx>
---
drivers/staging/unisys/visornic/visornic_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/unisys/visornic/visornic_main.c b/drivers/staging/unisys/visornic/visornic_main.c
index 643432458105..58d03f3d3173 100644
--- a/drivers/staging/unisys/visornic/visornic_main.c
+++ b/drivers/staging/unisys/visornic/visornic_main.c
@@ -1922,11 +1922,11 @@ static int visornic_probe(struct visor_device *dev)
/* create debug/sysfs directories */
devdata->eth_debugfs_dir = debugfs_create_dir(netdev->name,
visornic_debugfs_dir);
- if (!devdata->eth_debugfs_dir) {
+ if (IS_ERR(devdata->eth_debugfs_dir)) {
dev_err(&dev->device,
"%s debugfs_create_dir %s failed\n",
__func__, netdev->name);
- err = -ENOMEM;
+ err = PTR_ERR(devdata->eth_debugfs_dir);
goto cleanup_register_netdev;
}

--
2.34.1