scsi: ufs: core: Use UPIU query trace in devman_upiu_cmd()
authorBean Huo <beanhuo@micron.com>
Mon, 31 May 2021 10:43:08 +0000 (12:43 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 8 Jun 2021 02:36:20 +0000 (22:36 -0400)
Since devman_upiu_cmd() is not COMMAND UPIU, and doesn't have CDB, it is
better to use UPIU query trace, which provides more helpful information for
issue troubleshooting.

Link: https://lore.kernel.org/r/20210531104308.391842-5-huobean@gmail.com
Reviewed-by: Can Guo <cang@codeaurora.org>
Signed-off-by: Bean Huo <beanhuo@micron.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ufs/ufshcd.c

index 5bf7be8..fe1b5f4 100644 (file)
@@ -6720,6 +6720,7 @@ static int ufshcd_issue_devman_upiu_cmd(struct ufs_hba *hba,
 
        hba->dev_cmd.complete = &wait;
 
+       ufshcd_add_query_upiu_trace(hba, UFS_QUERY_SEND, lrbp->ucd_req_ptr);
        /* Make sure descriptors are ready before ringing the doorbell */
        wmb();
 
@@ -6749,6 +6750,8 @@ static int ufshcd_issue_devman_upiu_cmd(struct ufs_hba *hba,
                        err = -EINVAL;
                }
        }
+       ufshcd_add_query_upiu_trace(hba, err ? UFS_QUERY_ERR : UFS_QUERY_COMP,
+                                   (struct utp_upiu_req *)lrbp->ucd_rsp_ptr);
 
 out:
        blk_put_request(req);