]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
scsi: ufs: remove unnecessary query(DM) UPIU trace
authorOhad Sharabi <ohad.sharabi@wdc.com>
Sun, 5 Aug 2018 13:26:23 +0000 (16:26 +0300)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 9 Aug 2018 01:55:48 +0000 (21:55 -0400)
This patch removes redundant trace that occurs when sending Device
Management(DM) request (fix behavior in commit 6667e6d91c88 ("scsi:
ufs: add trace event for ufs upiu").

Since the function send_command is called also for DM request, UPIU
trace for DM request is called twice- one identified as query_* the
other as send/complete.

Signed-off-by: Ohad Sharabi <ohad.sharabi@wdc.com>
Fixes: 6667e6d91c88 ("scsi: ufs: add trace event for ufs upiu")
Reviewed-by: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ufs/ufshcd.c

index 3560185002da6ef888ff5f1b2fff4a1b5d8c6e18..9d5d2ca7fc4ff6648127abdbd32947dec5182dee 100644 (file)
@@ -342,18 +342,19 @@ static void ufshcd_add_command_trace(struct ufs_hba *hba,
        sector_t lba = -1;
        u8 opcode = 0;
        u32 intr, doorbell;
-       struct ufshcd_lrb *lrbp;
+       struct ufshcd_lrb *lrbp = &hba->lrb[tag];
        int transfer_len = -1;
 
-       /* trace UPIU also */
-       ufshcd_add_cmd_upiu_trace(hba, tag, str);
-
-       if (!trace_ufshcd_command_enabled())
+       if (!trace_ufshcd_command_enabled()) {
+               /* trace UPIU W/O tracing command */
+               if (lrbp->cmd)
+                       ufshcd_add_cmd_upiu_trace(hba, tag, str);
                return;
-
-       lrbp = &hba->lrb[tag];
+       }
 
        if (lrbp->cmd) { /* data phase exists */
+               /* trace UPIU also */
+               ufshcd_add_cmd_upiu_trace(hba, tag, str);
                opcode = (u8)(*lrbp->cmd->cmnd);
                if ((opcode == READ_10) || (opcode == WRITE_10)) {
                        /*