[PATCH v1] scsi: ufs: correct ufshcd_shutdown flow
Bart Van Assche
bvanassche at acm.org
Fri Jul 22 14:07:10 PDT 2022
On 7/20/22 21:30, Peter Wang wrote:
> On 7/21/22 5:40 AM, Bart Van Assche wrote:
>> On 7/19/22 06:02, peter.wang at mediatek.com wrote:
>>> - pm_runtime_get_sync(hba->dev);
>>> + /* Wait ufshcd_wl_shutdown clear ufs state, timeout 500 ms */
>>> + while (!ufshcd_is_ufs_dev_poweroff(hba) ||
>>> !ufshcd_is_link_off(hba)) {
>>> + if (ktime_after(ktime_get(), timeout))
>>> + goto out;
>>> + msleep(1);
>>> + }
>>
>> Please explain why this wait loop has been introduced.
>
> Both ufshcd_shutdown and ufshcd_wl_shutdown could run concurrently.
Are you sure of this? In drivers/base/core.c I see a sequential loop in
the device_shutdown() function. So how could two shutdown functions run
concurrently?
Thanks,
Bart.
More information about the Linux-mediatek
mailing list