debugfs_create_xxx routines, which return pointers, are being checked for error by looking for NULL values. The routines may return pointer-munged -Exxx codes, so they should be using IS_ERR() to adapt. There are two cases: - the first case is on initial directory creation, which actually doesn't need to be checked. So remove the check. - creation of the sessions subdirectory. Modify this creation to create under the initial directory created, and fix failure check. Fixes: 4df84e846624 ("scsi: elx: efct: Driver initialization routines") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: James Smart <jsmart2021@xxxxxxxxx> --- drivers/scsi/elx/efct/efct_xport.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/scsi/elx/efct/efct_xport.c b/drivers/scsi/elx/efct/efct_xport.c index 78b6a47599c3..9495cedcc0b9 100644 --- a/drivers/scsi/elx/efct/efct_xport.c +++ b/drivers/scsi/elx/efct/efct_xport.c @@ -43,16 +43,13 @@ efct_xport_init_debugfs(struct efct *efct) if (!efct_debugfs_root) { efct_debugfs_root = debugfs_create_dir("efct", NULL); atomic_set(&efct_debugfs_count, 0); - if (!efct_debugfs_root) { - efc_log_err(efct, "failed to create debugfs entry\n"); - goto debugfs_fail; - } } /* Create a directory for sessions in root */ if (!efct->sess_debugfs_dir) { - efct->sess_debugfs_dir = debugfs_create_dir("sessions", NULL); - if (!efct->sess_debugfs_dir) { + efct->sess_debugfs_dir = debugfs_create_dir("sessions", + efct_debugfs_root); + if (IS_ERR(efct->sess_debugfs_dir)) { efc_log_err(efct, "failed to create debugfs entry for sessions\n"); goto debugfs_fail; -- 2.26.2