All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] scsi: qedi: Fix error codes in qedi_alloc_global_queues()
@ 2021-08-10  8:47 Dan Carpenter
  2021-08-10  8:51 ` [PATCH 2/2] scsi: qedf: fix error codes in qedf_alloc_global_queues() Dan Carpenter
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Dan Carpenter @ 2021-08-10  8:47 UTC (permalink / raw)
  To: Nilesh Javali, Manish Rangankar
  Cc: GR-QLogic-Storage-Upstream, James E.J. Bottomley,
	Martin K. Petersen, Hannes Reinecke, Arun Easi,
	Adheer Chandravanshi, Johannes Thumshirn, linux-scsi,
	kernel-janitors

This function had some left over code that returned 1 on error instead
negative error codes.  Convert everything to use negative error codes.
The caller treats all non-zero returns the same so this does not affect
run time.

A couple places set "rc" instead of "status" so those error paths ended
up returning success by mistake.  Get rid of the "rc" variable and use
"status" everywhere.

Remove the bogus "status = 0" initialization, as a future proofing
measure so the compiler will warn about uninitialized error codes.

Fixes: ace7f46ba5fd ("scsi: qedi: Add QLogic FastLinQ offload iSCSI driver framework.")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
 drivers/scsi/qedi/qedi_main.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/scsi/qedi/qedi_main.c b/drivers/scsi/qedi/qedi_main.c
index 0b0acb827071..e6dc0b495a82 100644
--- a/drivers/scsi/qedi/qedi_main.c
+++ b/drivers/scsi/qedi/qedi_main.c
@@ -1621,7 +1621,7 @@ static int qedi_alloc_global_queues(struct qedi_ctx *qedi)
 {
 	u32 *list;
 	int i;
-	int status = 0, rc;
+	int status;
 	u32 *pbl;
 	dma_addr_t page;
 	int num_pages;
@@ -1632,14 +1632,14 @@ static int qedi_alloc_global_queues(struct qedi_ctx *qedi)
 	 */
 	if (!qedi->num_queues) {
 		QEDI_ERR(&qedi->dbg_ctx, "No MSI-X vectors available!\n");
-		return 1;
+		return -ENOMEM;
 	}
 
 	/* Make sure we allocated the PBL that will contain the physical
 	 * addresses of our queues
 	 */
 	if (!qedi->p_cpuq) {
-		status = 1;
+		status = -EINVAL;
 		goto mem_alloc_failure;
 	}
 
@@ -1654,13 +1654,13 @@ static int qedi_alloc_global_queues(struct qedi_ctx *qedi)
 		  "qedi->global_queues=%p.\n", qedi->global_queues);
 
 	/* Allocate DMA coherent buffers for BDQ */
-	rc = qedi_alloc_bdq(qedi);
-	if (rc)
+	status = qedi_alloc_bdq(qedi);
+	if (status)
 		goto mem_alloc_failure;
 
 	/* Allocate DMA coherent buffers for NVM_ISCSI_CFG */
-	rc = qedi_alloc_nvm_iscsi_cfg(qedi);
-	if (rc)
+	status = qedi_alloc_nvm_iscsi_cfg(qedi);
+	if (status)
 		goto mem_alloc_failure;
 
 	/* Allocate a CQ and an associated PBL for each MSI-X
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] scsi: qedf: fix error codes in qedf_alloc_global_queues()
  2021-08-10  8:47 [PATCH 1/2] scsi: qedi: Fix error codes in qedi_alloc_global_queues() Dan Carpenter
@ 2021-08-10  8:51 ` Dan Carpenter
  2021-08-13  8:47 ` [EXT] [PATCH 1/2] scsi: qedi: Fix error codes in qedi_alloc_global_queues() Manish Rangankar
  2021-08-16 17:28 ` Martin K. Petersen
  2 siblings, 0 replies; 4+ messages in thread
From: Dan Carpenter @ 2021-08-10  8:51 UTC (permalink / raw)
  To: Saurav Kashyap, Dupuis Chad
  Cc: Javed Hasan, GR-QLogic-Storage-Upstream, James E.J. Bottomley,
	Martin K. Petersen, linux-scsi, kernel-janitors

This driver has some left over "return 1" on failure style code mixed
with "return negative error codes" style code.  The caller doesn't care
so we should just convert everything to return negative error codes.

Then there was a problem that there were two variables used to store
error codes which just resulted in confusion.  If qedf_alloc_bdq()
returned a negative error code, we accidentally returned success instead
of propagating the error code.  So get rid of the "rc" variable and use
"status" every where.

Also remove the "status = 0" initialization so that these sorts of bugs
will be detected by the compiler in the future.

Fixes: 61d8658b4a43 ("scsi: qedf: Add QLogic FastLinQ offload FCoE driver framework.")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
 drivers/scsi/qedf/qedf_main.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/scsi/qedf/qedf_main.c b/drivers/scsi/qedf/qedf_main.c
index 85f41abcb56c..42d0d941dba5 100644
--- a/drivers/scsi/qedf/qedf_main.c
+++ b/drivers/scsi/qedf/qedf_main.c
@@ -3004,7 +3004,7 @@ static int qedf_alloc_global_queues(struct qedf_ctx *qedf)
 {
 	u32 *list;
 	int i;
-	int status = 0, rc;
+	int status;
 	u32 *pbl;
 	dma_addr_t page;
 	int num_pages;
@@ -3016,7 +3016,7 @@ static int qedf_alloc_global_queues(struct qedf_ctx *qedf)
 	 */
 	if (!qedf->num_queues) {
 		QEDF_ERR(&(qedf->dbg_ctx), "No MSI-X vectors available!\n");
-		return 1;
+		return -ENOMEM;
 	}
 
 	/*
@@ -3024,7 +3024,7 @@ static int qedf_alloc_global_queues(struct qedf_ctx *qedf)
 	 * addresses of our queues
 	 */
 	if (!qedf->p_cpuq) {
-		status = 1;
+		status = -EINVAL;
 		QEDF_ERR(&qedf->dbg_ctx, "p_cpuq is NULL.\n");
 		goto mem_alloc_failure;
 	}
@@ -3040,8 +3040,8 @@ static int qedf_alloc_global_queues(struct qedf_ctx *qedf)
 		   "qedf->global_queues=%p.\n", qedf->global_queues);
 
 	/* Allocate DMA coherent buffers for BDQ */
-	rc = qedf_alloc_bdq(qedf);
-	if (rc) {
+	status = qedf_alloc_bdq(qedf);
+	if (status) {
 		QEDF_ERR(&qedf->dbg_ctx, "Unable to allocate bdq.\n");
 		goto mem_alloc_failure;
 	}
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* RE: [EXT] [PATCH 1/2] scsi: qedi: Fix error codes in qedi_alloc_global_queues()
  2021-08-10  8:47 [PATCH 1/2] scsi: qedi: Fix error codes in qedi_alloc_global_queues() Dan Carpenter
  2021-08-10  8:51 ` [PATCH 2/2] scsi: qedf: fix error codes in qedf_alloc_global_queues() Dan Carpenter
@ 2021-08-13  8:47 ` Manish Rangankar
  2021-08-16 17:28 ` Martin K. Petersen
  2 siblings, 0 replies; 4+ messages in thread
From: Manish Rangankar @ 2021-08-13  8:47 UTC (permalink / raw)
  To: Dan Carpenter, Nilesh Javali
  Cc: GR-QLogic-Storage-Upstream, James E.J. Bottomley,
	Martin K. Petersen, Hannes Reinecke, Arun Easi,
	Adheer Chandravanshi, Johannes Thumshirn, linux-scsi,
	kernel-janitors

> -----Original Message-----
> From: Dan Carpenter <dan.carpenter@oracle.com>
> Sent: Tuesday, August 10, 2021 2:18 PM
> To: Nilesh Javali <njavali@marvell.com>; Manish Rangankar
> <manish.rangankar@cavium.com>
> Cc: GR-QLogic-Storage-Upstream <GR-QLogic-Storage-
> Upstream@marvell.com>; James E.J. Bottomley <jejb@linux.ibm.com>; Martin
> K. Petersen <martin.petersen@oracle.com>; Hannes Reinecke <hare@suse.de>;
> Arun Easi <arun.easi@cavium.com>; Adheer Chandravanshi
> <adheer.chandravanshi@qlogic.com>; Johannes Thumshirn
> <jthumshirn@suse.de>; linux-scsi@vger.kernel.org; kernel-
> janitors@vger.kernel.org
> Subject: [EXT] [PATCH 1/2] scsi: qedi: Fix error codes in
> qedi_alloc_global_queues()
> 
> External Email
> 
> ----------------------------------------------------------------------
> This function had some left over code that returned 1 on error instead negative
> error codes.  Convert everything to use negative error codes.
> The caller treats all non-zero returns the same so this does not affect run time.
> 
> A couple places set "rc" instead of "status" so those error paths ended up
> returning success by mistake.  Get rid of the "rc" variable and use "status"
> everywhere.
> 
> Remove the bogus "status = 0" initialization, as a future proofing measure so the
> compiler will warn about uninitialized error codes.
> 
> Fixes: ace7f46ba5fd ("scsi: qedi: Add QLogic FastLinQ offload iSCSI driver
> framework.")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> ---
>  drivers/scsi/qedi/qedi_main.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/scsi/qedi/qedi_main.c b/drivers/scsi/qedi/qedi_main.c index
> 0b0acb827071..e6dc0b495a82 100644
> --- a/drivers/scsi/qedi/qedi_main.c
> +++ b/drivers/scsi/qedi/qedi_main.c
> @@ -1621,7 +1621,7 @@ static int qedi_alloc_global_queues(struct qedi_ctx
> *qedi)  {
>  	u32 *list;
>  	int i;
> -	int status = 0, rc;
> +	int status;
>  	u32 *pbl;
>  	dma_addr_t page;
>  	int num_pages;
> @@ -1632,14 +1632,14 @@ static int qedi_alloc_global_queues(struct qedi_ctx
> *qedi)
>  	 */
>  	if (!qedi->num_queues) {
>  		QEDI_ERR(&qedi->dbg_ctx, "No MSI-X vectors available!\n");
> -		return 1;
> +		return -ENOMEM;
>  	}
> 
>  	/* Make sure we allocated the PBL that will contain the physical
>  	 * addresses of our queues
>  	 */
>  	if (!qedi->p_cpuq) {
> -		status = 1;
> +		status = -EINVAL;
>  		goto mem_alloc_failure;
>  	}
> 
> @@ -1654,13 +1654,13 @@ static int qedi_alloc_global_queues(struct qedi_ctx
> *qedi)
>  		  "qedi->global_queues=%p.\n", qedi->global_queues);
> 
>  	/* Allocate DMA coherent buffers for BDQ */
> -	rc = qedi_alloc_bdq(qedi);
> -	if (rc)
> +	status = qedi_alloc_bdq(qedi);
> +	if (status)
>  		goto mem_alloc_failure;
> 
>  	/* Allocate DMA coherent buffers for NVM_ISCSI_CFG */
> -	rc = qedi_alloc_nvm_iscsi_cfg(qedi);
> -	if (rc)
> +	status = qedi_alloc_nvm_iscsi_cfg(qedi);
> +	if (status)
>  		goto mem_alloc_failure;
> 
>  	/* Allocate a CQ and an associated PBL for each MSI-X
> --
> 2.20.1

Thanks,
Acked-by: Manish Rangankar <mrangankar@marvell.com>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2] scsi: qedi: Fix error codes in qedi_alloc_global_queues()
  2021-08-10  8:47 [PATCH 1/2] scsi: qedi: Fix error codes in qedi_alloc_global_queues() Dan Carpenter
  2021-08-10  8:51 ` [PATCH 2/2] scsi: qedf: fix error codes in qedf_alloc_global_queues() Dan Carpenter
  2021-08-13  8:47 ` [EXT] [PATCH 1/2] scsi: qedi: Fix error codes in qedi_alloc_global_queues() Manish Rangankar
@ 2021-08-16 17:28 ` Martin K. Petersen
  2 siblings, 0 replies; 4+ messages in thread
From: Martin K. Petersen @ 2021-08-16 17:28 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: Nilesh Javali, Manish Rangankar, GR-QLogic-Storage-Upstream,
	James E.J. Bottomley, Martin K. Petersen, Hannes Reinecke,
	Arun Easi, Adheer Chandravanshi, Johannes Thumshirn, linux-scsi,
	kernel-janitors


Dan,

> This function had some left over code that returned 1 on error instead
> negative error codes.  Convert everything to use negative error codes.
> The caller treats all non-zero returns the same so this does not affect
> run time.

Applied 1+2 to 5.15/scsi-staging, thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-08-16 17:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-10  8:47 [PATCH 1/2] scsi: qedi: Fix error codes in qedi_alloc_global_queues() Dan Carpenter
2021-08-10  8:51 ` [PATCH 2/2] scsi: qedf: fix error codes in qedf_alloc_global_queues() Dan Carpenter
2021-08-13  8:47 ` [EXT] [PATCH 1/2] scsi: qedi: Fix error codes in qedi_alloc_global_queues() Manish Rangankar
2021-08-16 17:28 ` Martin K. Petersen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.