Commit 4320f9d4 authored by Icenowy Zheng's avatar Icenowy Zheng Committed by Kishon Vijay Abraham I

phy: sun4i: check PMU presence when poking unknown bit of pmu

Allwinner SoC's PHY 0, when used as OTG controller, have no pmu part.
The code that poke some unknown bit of PMU for H3/A64 didn't check
the PHY, and will cause kernel oops when PHY 0 is used.

This patch will check whether the pmu is not NULL before poking.

Fixes: b3e0d141 (phy: sun4i: add support for A64 usb phy)
Signed-off-by: default avatarIcenowy Zheng <icenowy@aosc.xyz>
Acked-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
parent 232c2609
...@@ -264,7 +264,7 @@ static int sun4i_usb_phy_init(struct phy *_phy) ...@@ -264,7 +264,7 @@ static int sun4i_usb_phy_init(struct phy *_phy)
return ret; return ret;
} }
if (data->cfg->enable_pmu_unk1) { if (phy->pmu && data->cfg->enable_pmu_unk1) {
val = readl(phy->pmu + REG_PMU_UNK1); val = readl(phy->pmu + REG_PMU_UNK1);
writel(val & ~2, phy->pmu + REG_PMU_UNK1); writel(val & ~2, phy->pmu + REG_PMU_UNK1);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment