[PATCH v2] ufs: core: fix deadlock when rtc update
Bean Huo
huobean at gmail.com
Mon Jul 15 02:29:19 PDT 2024
On Mon, 2024-07-15 at 14:38 +0800, peter.wang at mediatek.com wrote:
> - ufshcd_rpm_get_sync(hba);
> + /* Skip update RTC if RPM state is not RPM_ACTIVE */
> + if (ufshcd_rpm_get_if_active(hba) <= 0)
> + return;
I understood your intention of this 'retun', but my understanding is
you assume that __ufshcd_wl_resume() will schedule rtc update work,
however, before the time that __ufshcd_wl_resume() completes, the RPM
status is not RPM_ACTIVE until __ufshcd_wl_resume() completes and
__update_runtime_status(dev, RPM_ACTIVE) is called.
If rtc update work is performed before __update_runtime_status(dev,
RPM_ACTIVE), here you return, then no RTC work will be scheduled.
do you think it is possible?
More information about the Linux-mediatek
mailing list