2021-10-20 14:35:53

by Zheyu Ma

[permalink] [raw]
Subject: [PATCH] scsi: qedf: Fix return values of the probe function

qedf_set_fcoe_pf_param() propagates the return value to the probe
function __qedf_probe() and then hits local_pci_probe().

During the process of driver probing, the probe function should return < 0
for failure, otherwise, the kernel will treat value > 0 as success.

Signed-off-by: Zheyu Ma <[email protected]>
---
drivers/scsi/qedf/qedf_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/qedf/qedf_main.c b/drivers/scsi/qedf/qedf_main.c
index 42d0d941dba5..52f2a52bea2c 100644
--- a/drivers/scsi/qedf/qedf_main.c
+++ b/drivers/scsi/qedf/qedf_main.c
@@ -3161,14 +3161,14 @@ static int qedf_set_fcoe_pf_param(struct qedf_ctx *qedf)

if (!qedf->p_cpuq) {
QEDF_ERR(&(qedf->dbg_ctx), "dma_alloc_coherent failed.\n");
- return 1;
+ return -ENOMEM;
}

rval = qedf_alloc_global_queues(qedf);
if (rval) {
QEDF_ERR(&(qedf->dbg_ctx), "Global queue allocation "
"failed.\n");
- return 1;
+ return rval;
}

/* Calculate SQ PBL size in the same manner as in qedf_sq_alloc() */
--
2.17.6


2021-10-21 04:31:07

by Saurav Kashyap

[permalink] [raw]
Subject: RE: [EXT] [PATCH] scsi: qedf: Fix return values of the probe function

Hi Zheyu,
Thanks for the patch.

> -----Original Message-----
> From: Zheyu Ma <[email protected]>
> Sent: Wednesday, October 20, 2021 8:03 PM
> To: [email protected]; [email protected]; Saurav Kashyap
> <[email protected]>; Javed Hasan <[email protected]>; GR-QLogic-
> Storage-Upstream <[email protected]>
> Cc: [email protected]; [email protected]; Zheyu Ma
> <[email protected]>
> Subject: [EXT] [PATCH] scsi: qedf: Fix return values of the probe function
>
> External Email
>
> ----------------------------------------------------------------------
> qedf_set_fcoe_pf_param() propagates the return value to the probe
> function __qedf_probe() and then hits local_pci_probe().
>
> During the process of driver probing, the probe function should return < 0
> for failure, otherwise, the kernel will treat value > 0 as success.
>
> Signed-off-by: Zheyu Ma <[email protected]>
> ---
> drivers/scsi/qedf/qedf_main.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/qedf/qedf_main.c b/drivers/scsi/qedf/qedf_main.c
> index 42d0d941dba5..52f2a52bea2c 100644
> --- a/drivers/scsi/qedf/qedf_main.c
> +++ b/drivers/scsi/qedf/qedf_main.c
> @@ -3161,14 +3161,14 @@ static int qedf_set_fcoe_pf_param(struct qedf_ctx
> *qedf)
>
> if (!qedf->p_cpuq) {
> QEDF_ERR(&(qedf->dbg_ctx), "dma_alloc_coherent failed.\n");
> - return 1;
> + return -ENOMEM;
> }
>
> rval = qedf_alloc_global_queues(qedf);
> if (rval) {
> QEDF_ERR(&(qedf->dbg_ctx), "Global queue allocation "
> "failed.\n");
> - return 1;
> + return rval;
> }
>
> /* Calculate SQ PBL size in the same manner as in qedf_sq_alloc() */
> --
> 2.17.6

Acked-by: Saurav Kashyap <[email protected]>

Thanks,
~Saurav