summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIcenowy Zheng <icenowy@aosc.xyz>2016-10-28 18:27:01 +0200
committerKishon Vijay Abraham I <kishon@ti.com>2016-11-05 09:15:02 +0100
commit4320f9d4c1831fd4d244a9de8f81bc27ea67699c (patch)
tree0ee4d75e4ca929aa749e7a216702576a4cebccbe
parentphy-rockchip-pcie: remove deassert of phy_rst from exit callback (diff)
downloadlinux-4320f9d4c1831fd4d244a9de8f81bc27ea67699c.tar.xz
linux-4320f9d4c1831fd4d244a9de8f81bc27ea67699c.zip
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: b3e0d141ca9f (phy: sun4i: add support for A64 usb phy) Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
-rw-r--r--drivers/phy/phy-sun4i-usb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/phy/phy-sun4i-usb.c b/drivers/phy/phy-sun4i-usb.c
index b9342a2af7b3..fec34f5213c4 100644
--- a/drivers/phy/phy-sun4i-usb.c
+++ b/drivers/phy/phy-sun4i-usb.c
@@ -264,7 +264,7 @@ static int sun4i_usb_phy_init(struct phy *_phy)
return ret;
}
- if (data->cfg->enable_pmu_unk1) {
+ if (phy->pmu && data->cfg->enable_pmu_unk1) {
val = readl(phy->pmu + REG_PMU_UNK1);
writel(val & ~2, phy->pmu + REG_PMU_UNK1);
}