> -----Original Message-----
> From: linux-scsi-ow...@vger.kernel.org [mailto:linux-scsi-
> ow...@vger.kernel.org] On Behalf Of Christophe JAILLET
> Sent: Friday, August 12, 2016 3:33 PM
> To: jayamohan.kallic...@avagotech.com; j...@linux.vnet.ibm.com;
> ketan.muka...@avagotech.com; sony.j...@avagotech.com;
> martin.peter...@oracle.com
> Cc: linux-scsi@vger.kernel.org; linux-ker...@vger.kernel.org; kernel-
> janit...@vger.kernel.org; Christophe JAILLET
> Subject: [PATCH 1/2] be2iscsi: Fix error return code
>
> We know that 'ret' is not an error code because it has been tested a few
> lines
> above.
> So, if one of these function fails, 0 will be returned instead of an error
> code.
> Return -ENOMEM instead.
>
> Signed-off-by: Christophe JAILLET <christophe.jail...@wanadoo.fr>
> ---
>  drivers/scsi/be2iscsi/be_main.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/be2iscsi/be_main.c
> b/drivers/scsi/be2iscsi/be_main.c
> index f05e7737107d..89ae6390b697 100644
> --- a/drivers/scsi/be2iscsi/be_main.c
> +++ b/drivers/scsi/be2iscsi/be_main.c
> @@ -3286,8 +3286,10 @@ static int beiscsi_create_eqs(struct beiscsi_hba
> *phba,
>               eq_vaddress = pci_alloc_consistent(phba->pcidev,
>                                                    num_eq_pages *
> PAGE_SIZE,
>                                                    &paddr);
> -             if (!eq_vaddress)
> +             if (!eq_vaddress) {
> +                     ret = -ENOMEM;
>                       goto create_eq_error;
> +             }
>
>               mem->va = eq_vaddress;
>               ret = be_fill_queue(eq, phba->params.num_eq_entries, @@ -
> 3349,8 +3351,11 @@ static int beiscsi_create_cqs(struct beiscsi_hba *phba,
>               cq_vaddress = pci_alloc_consistent(phba->pcidev,
>                                                    num_cq_pages *
> PAGE_SIZE,
>                                                    &paddr);
> -             if (!cq_vaddress)
> +             if (!cq_vaddress) {
> +                     ret = -ENOMEM;
>                       goto create_cq_error;
> +             }
> +
>               ret = be_fill_queue(cq, phba->params.num_cq_entries,
>                                   sizeof(struct sol_cqe), cq_vaddress);
>               if (ret) {
> @@ -5635,6 +5640,7 @@ static int beiscsi_dev_probe(struct pci_dev *pcidev,
>       if (!phba) {
>               dev_err(&pcidev->dev,
>                       "beiscsi_dev_probe - Failed in beiscsi_hba_alloc\n");
> +             ret = -ENOMEM;
>               goto disable_pci;
>       }
>
> @@ -5754,6 +5760,7 @@ static int beiscsi_dev_probe(struct pci_dev *pcidev,
>               beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_INIT,
>                           "BM_%d : beiscsi_dev_probe-"
>                           "Failed to allocate work queue\n");
> +             ret = -ENOMEM;
>               goto free_twq;
>       }
>

[JB] This still has to be fixed, right?
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to