> /* Write UIC Cmd */ > ufshcd_writel(hba, uic_cmd->command & COMMAND_OPCODE_MASK, > REG_UIC_COMMAND); > @@ -4825,11 +4847,15 @@ static irqreturn_t ufshcd_uic_cmd_compl(struct > ufs_hba *hba, u32 intr_status) > ufshcd_get_uic_cmd_result(hba); > hba->active_uic_cmd->argument3 = > ufshcd_get_dme_attr_val(hba); > + ufshcd_add_uic_command_trace(hba, hba->active_uic_cmd, > + "complete"); > complete(&hba->active_uic_cmd->done); > retval = IRQ_HANDLED; > } > > if ((intr_status & UFSHCD_UIC_PWR_MASK) && hba->uic_async_done) { > + ufshcd_add_uic_command_trace(hba, hba->active_uic_cmd, > + "complete"); > complete(hba->uic_async_done); > retval = IRQ_HANDLED; Why not call ufshcd_add_uic_command_trace once if retval == IRQ_HANDLED? Is it that the exact timestamp?