Hi Avri,
On Thu, 2019-07-25 at 07:54 +0000, Avri Altman wrote:
> Stanly,
>
> >
> > Currently bits in hba->outstanding_tasks are cleared only after their
> > corresponding task management commands are successfully done by
> > __ufshcd_issue_tm_cmd().
> >
> > If timeout happens in a task management command, its corresponding
> > bit in hba->outstanding_tasks will not be cleared until next task
> > management command with the same tag used successfully finishes.
> I'm sorry - I still don't understand why you just can't release the tag
> either way,
> Just like we do in device management queries tags,
> Instead of adding all this unnecessary code.
>
> I will not object to your series -
> just step down and let other people review you patches.
Sorry to not describe the failed scenario clearly.
Simpliy focus on outstanding bits cleanup in failed (timeout) case:
- For device command, if timeout happens, its tag can be cleared in
ufshcd_wait_for_dev_cmd() which specifically uses
ufshcd_outstanding_req_clear() to clear failed bit in outstanding_reqs
mask.
- For task management command, if timeout happens, current driver will
not clear failed bit in outstanding_tasks mask:
- __ufshcd_issue_tm_cmd() will not clear it,
- ufshcd_tmc_handler() will not clear it either during reset flow.
> Thanks,
> Avri
Thanks,
Stanley
>
> _______________________________________________
> Linux-mediatek mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-mediatek