scsi: ufs: core: Set default runtime/system PM levels before ufshcd_hba_init()
authorManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Wed, 19 Feb 2025 10:50:47 +0000 (16:20 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 21 Feb 2025 02:29:21 +0000 (21:29 -0500)
commitfe06b7c07f3fbcce2a2ca6f7b0d543b5699ea00f
tree19c24d773db72da6d08e93a24afe79d2b0e0d59a
parentdce5c4afd035e8090a26e5d776b1682c0e649683
scsi: ufs: core: Set default runtime/system PM levels before ufshcd_hba_init()

Commit bb9850704c04 ("scsi: ufs: core: Honor runtime/system PM levels if
set by host controller drivers") introduced the check for setting default
PM levels only if the levels are uninitialized by the host controller
drivers. But it missed the fact that the levels could be initialized to 0
(UFS_PM_LVL_0) on purpose by the controller drivers. Even though none of
the drivers are doing so now, the logic should be fixed irrespectively.

So set the default levels unconditionally before calling ufshcd_hba_init()
API which initializes the controller drivers. It ensures that the
controller drivers could override the default levels if required.

Fixes: bb9850704c04 ("scsi: ufs: core: Honor runtime/system PM levels if set by host controller drivers")
Reported-by: Bao D. Nguyen <quic_nguyenb@quicinc.com>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20250219105047.49932-1-manivannan.sadhasivam@linaro.org
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/core/ufshcd.c