From: Kevin Barnett Date: Wed, 31 Aug 2016 19:55:11 +0000 (-0500) Subject: scsi: smartpqi: scsi queuecommand cleanup X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=7d81d2b8714ec72462a99875acbf2f976402f3f1;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git scsi: smartpqi: scsi queuecommand cleanup minor cleanup of scsi queue command function Reviewed-by: Scott Teel Reviewed-by: Scott Benesh Reviewed-by: Johannes Thumshirn Reviewed-by: Tomas Henzl Signed-off-by: Kevin Barnett Signed-off-by: Don Brace Signed-off-by: Martin K. Petersen --- diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c index db248c15adaf..f0672ed416cb 100644 --- a/drivers/scsi/smartpqi/smartpqi_init.c +++ b/drivers/scsi/smartpqi/smartpqi_init.c @@ -4514,7 +4514,7 @@ static int pqi_aio_submit_io(struct pqi_ctrl_info *ctrl_info, } static int pqi_scsi_queue_command(struct Scsi_Host *shost, - struct scsi_cmnd *scmd) + struct scsi_cmnd *scmd) { int rc; struct pqi_ctrl_info *ctrl_info; @@ -4532,6 +4532,12 @@ static int pqi_scsi_queue_command(struct Scsi_Host *shost, return 0; } + /* + * This is necessary because the SML doesn't zero out this field during + * error recovery. + */ + scmd->result = 0; + hwq = blk_mq_unique_tag_to_hwq(blk_mq_unique_tag(scmd->request)); if (hwq >= ctrl_info->num_queue_groups) hwq = 0;