From: Venkatraman S Date: Thu, 19 Apr 2012 06:16:22 +0000 (+0530) Subject: [SCSI] ufs: Fix evaluation of UTP task completion code X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=fd0f8370c8a8400da5195e183ce1ef4f407cec21;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git [SCSI] ufs: Fix evaluation of UTP task completion code While interpreting the result of UTP task completion status, by using boolean &&, the evaluation would fail when the UPIU_TASK_MANAGEMENT_FUNC_SUCCEEDED was received. Either UPIU_TASK_MANAGEMENT_FUNC_COMPL or UPIU_TASK_MANAGEMENT_FUNC_SUCCEEDED should be considered as a success result. Reported-by: Joe Perches Signed-off-by: Venkatraman S Reviewed-by: Namjae Jeon Acked-by: Santosh Y Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 52b96e8bf92e..78be71cfc636 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -1160,7 +1160,7 @@ static int ufshcd_task_req_compl(struct ufs_hba *hba, u32 index) task_result = be32_to_cpu(task_rsp_upiup->header.dword_1); task_result = ((task_result & MASK_TASK_RESPONSE) >> 8); - if (task_result != UPIU_TASK_MANAGEMENT_FUNC_COMPL || + if (task_result != UPIU_TASK_MANAGEMENT_FUNC_COMPL && task_result != UPIU_TASK_MANAGEMENT_FUNC_SUCCEEDED) task_result = FAILED; } else {