summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ufs
diff options
context:
space:
mode:
authorStanley Chu <stanley.chu@mediatek.com>2020-07-24 16:16:27 +0200
committerMartin K. Petersen <martin.petersen@oracle.com>2020-07-29 04:59:57 +0200
commit0255b1e3d84962f8f8d19f9e2768a8a4f0de7487 (patch)
tree91007115bb7c6099efd5e4904e367f0c9cdd5aae /drivers/scsi/ufs
parentscsi: iscsi: Do not put host in iscsi_set_flashnode_param() (diff)
downloadlinux-0255b1e3d84962f8f8d19f9e2768a8a4f0de7487.tar.xz
linux-0255b1e3d84962f8f8d19f9e2768a8a4f0de7487.zip
scsi: ufs-mediatek: Prevent LPM operation on undeclared VCC
In some platforms, VCC regulator may not be declared in device tree to keep itself "always-on". In this case, hba->vreg_info.vcc is NULL and shall not be operated during any flow. Prevent possible NULL hba->vreg_info.vcc access in LPM mode by checking if it is valid first. Link: https://lore.kernel.org/r/20200724141627.20094-1-stanley.chu@mediatek.com Reviewed-by: Avri Altman <avri.altman@wdc.com> Signed-off-by: Stanley Chu <stanley.chu@mediatek.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/ufs')
-rw-r--r--drivers/scsi/ufs/ufs-mediatek.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/ufs/ufs-mediatek.c b/drivers/scsi/ufs/ufs-mediatek.c
index 31af8b3d2b53..66223fe200fc 100644
--- a/drivers/scsi/ufs/ufs-mediatek.c
+++ b/drivers/scsi/ufs/ufs-mediatek.c
@@ -574,7 +574,7 @@ static int ufs_mtk_link_set_lpm(struct ufs_hba *hba)
static void ufs_mtk_vreg_set_lpm(struct ufs_hba *hba, bool lpm)
{
- if (!hba->vreg_info.vccq2)
+ if (!hba->vreg_info.vccq2 || !hba->vreg_info.vcc)
return;
if (lpm & !hba->vreg_info.vcc->enabled)