Hi Avri, On Mon, 2020-06-15 at 07:13 +0000, Avri Altman wrote: > > /* 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? Thanks! This makes the code cleaner. Fixed in v3. Stanley Chu