diff mbox

hisi_sas: fix error codes in hisi_sas_task_prep()

Message ID 20151209104836.GK3173@mwanda (mailing list archive)
State New, archived
Headers show

Commit Message

Dan Carpenter Dec. 9, 2015, 10:48 a.m. UTC
There were a couple cases where the error codes weren't set and also I
changed the success return to "return 0;" which is the same as
"return rc;" but more explicit.

Fixes: 42e7a69368a5 ('hisi_sas: Add ssp command functio')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

John Garry Dec. 9, 2015, 1:29 p.m. UTC | #1
On 09/12/2015 10:48, Dan Carpenter wrote:
> There were a couple cases where the error codes weren't set and also I
> changed the success return to "return 0;" which is the same as
> "return rc;" but more explicit.
>
> Fixes: 42e7a69368a5 ('hisi_sas: Add ssp command functio')
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
>
> diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c
> index 2929018..99b1950 100644
> --- a/drivers/scsi/hisi_sas/hisi_sas_main.c
> +++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
> @@ -208,15 +208,19 @@ static int hisi_sas_task_prep(struct sas_task *task, struct hisi_hba *hisi_hba,
>   	slot->status_buffer = dma_pool_alloc(hisi_hba->status_buffer_pool,
>   					     GFP_ATOMIC,
>   					     &slot->status_buffer_dma);
> -	if (!slot->status_buffer)
> +	if (!slot->status_buffer) {
> +		rc = -ENOMEM;
>   		goto err_out_slot_buf;
> +	}
>   	memset(slot->status_buffer, 0, HISI_SAS_STATUS_BUF_SZ);
>
>   	slot->command_table = dma_pool_alloc(hisi_hba->command_table_pool,
>   					     GFP_ATOMIC,
>   					     &slot->command_table_dma);
> -	if (!slot->command_table)
> +	if (!slot->command_table) {
> +		rc = -ENOMEM;
>   		goto err_out_status_buf;
> +	}
>   	memset(slot->command_table, 0, HISI_SAS_COMMAND_TABLE_SZ);
>   	memset(slot->cmd_hdr, 0, sizeof(struct hisi_sas_cmd_hdr));
>
> @@ -254,7 +258,7 @@ static int hisi_sas_task_prep(struct sas_task *task, struct hisi_hba *hisi_hba,
>   	sas_dev->running_req++;
>   	++(*pass);
>
> -	return rc;
> +	return 0;
>
>   err_out_sge:
>   	dma_pool_free(hisi_hba->sge_page_pool, slot->sge_page,
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
Looks ok, Thanks.

Tested-by: John Garry <john.garry@huawei.com>

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Martin K. Petersen Dec. 10, 2015, 6:17 p.m. UTC | #2
>>>>> "Dan" == Dan Carpenter <dan.carpenter@oracle.com> writes:

Dan> There were a couple cases where the error codes weren't set and
Dan> also I changed the success return to "return 0;" which is the same
Dan> as "return rc;" but more explicit.

Applied to 4.5/scsi-queue.
diff mbox

Patch

diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c
index 2929018..99b1950 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -208,15 +208,19 @@  static int hisi_sas_task_prep(struct sas_task *task, struct hisi_hba *hisi_hba,
 	slot->status_buffer = dma_pool_alloc(hisi_hba->status_buffer_pool,
 					     GFP_ATOMIC,
 					     &slot->status_buffer_dma);
-	if (!slot->status_buffer)
+	if (!slot->status_buffer) {
+		rc = -ENOMEM;
 		goto err_out_slot_buf;
+	}
 	memset(slot->status_buffer, 0, HISI_SAS_STATUS_BUF_SZ);
 
 	slot->command_table = dma_pool_alloc(hisi_hba->command_table_pool,
 					     GFP_ATOMIC,
 					     &slot->command_table_dma);
-	if (!slot->command_table)
+	if (!slot->command_table) {
+		rc = -ENOMEM;
 		goto err_out_status_buf;
+	}
 	memset(slot->command_table, 0, HISI_SAS_COMMAND_TABLE_SZ);
 	memset(slot->cmd_hdr, 0, sizeof(struct hisi_sas_cmd_hdr));
 
@@ -254,7 +258,7 @@  static int hisi_sas_task_prep(struct sas_task *task, struct hisi_hba *hisi_hba,
 	sas_dev->running_req++;
 	++(*pass);
 
-	return rc;
+	return 0;
 
 err_out_sge:
 	dma_pool_free(hisi_hba->sge_page_pool, slot->sge_page,