]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
scsi: ufs: Clear ucd_rsp_ptr for UPIU requests once
authorAvri Altman <avri.altman@sandisk.com>
Tue, 17 Jun 2025 09:56:10 +0000 (12:56 +0300)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 20 Jun 2025 02:54:18 +0000 (22:54 -0400)
Previously, the response buffer (ucd_rsp_ptr) was cleared in multiple
UPIU preparation functions. Do it once.

Signed-off-by: Avri Altman <avri.altman@sandisk.com>
Link: https://lore.kernel.org/r/20250617095611.89229-2-avri.altman@sandisk.com
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/core/ufshcd.c

index 0a702356a715e719e5b30eab9c7cfb1c4a91114c..c2048aca09fc8845ac085df6ccc3584203408ff6 100644 (file)
@@ -2826,8 +2826,6 @@ static void ufshcd_prepare_utp_query_req_upiu(struct ufs_hba *hba,
        /* Copy the Descriptor */
        if (query->request.upiu_req.opcode == UPIU_QUERY_OPCODE_WRITE_DESC)
                memcpy(ucd_req_ptr + 1, query->descriptor, len);
-
-       memset(lrbp->ucd_rsp_ptr, 0, sizeof(struct utp_upiu_rsp));
 }
 
 static inline void ufshcd_prepare_utp_nop_upiu(struct ufshcd_lrb *lrbp)
@@ -2840,8 +2838,6 @@ static inline void ufshcd_prepare_utp_nop_upiu(struct ufshcd_lrb *lrbp)
                .transaction_code = UPIU_TRANSACTION_NOP_OUT,
                .task_tag = lrbp->task_tag,
        };
-
-       memset(lrbp->ucd_rsp_ptr, 0, sizeof(struct utp_upiu_rsp));
 }
 
 /**
@@ -2867,6 +2863,8 @@ static int ufshcd_compose_devman_upiu(struct ufs_hba *hba,
        else
                ret = -EINVAL;
 
+       memset(lrbp->ucd_rsp_ptr, 0, sizeof(struct utp_upiu_rsp));
+
        return ret;
 }