Commit cfc03eab authored by Dan Carpenter's avatar Dan Carpenter Committed by Jens Axboe
Browse files

pf: fix error codes in pf_init_unit()



Return a negative error code instead of success on these error paths.

Fixes: fb367e6b ("pf: cleanup initialization")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20211001122654.GB2283@kili


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent d0ac7a30
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -651,8 +651,8 @@ static int pf_identify(struct pf_unit *pf)
	return 0;
}

/*	returns  0, with id set if drive is detected
	        -1, if drive detection failed
/*
 * returns 0, with id set if drive is detected, otherwise an error code.
 */
static int pf_probe(struct pf_unit *pf)
{
@@ -675,7 +675,7 @@ static int pf_probe(struct pf_unit *pf)
			if (!pf_identify(pf))
				return 0;
	}
	return -1;
	return -ENODEV;
}

/* The i/o request engine */
@@ -957,9 +957,12 @@ static int __init pf_init_unit(struct pf_unit *pf, bool autoprobe, int port,
	snprintf(pf->name, PF_NAMELEN, "%s%d", name, disk->first_minor);

	if (!pi_init(pf->pi, autoprobe, port, mode, unit, protocol, delay,
			pf_scratch, PI_PF, verbose, pf->name))
			pf_scratch, PI_PF, verbose, pf->name)) {
		ret = -ENODEV;
		goto out_free_disk;
	if (pf_probe(pf))
	}
	ret = pf_probe(pf);
	if (ret)
		goto out_pi_release;

	ret = add_disk(disk);