diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-tegra/tegra3_usb_phy.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/arm/mach-tegra/tegra3_usb_phy.c b/arch/arm/mach-tegra/tegra3_usb_phy.c index 0ab61758addd..f1a1e0874946 100644 --- a/arch/arm/mach-tegra/tegra3_usb_phy.c +++ b/arch/arm/mach-tegra/tegra3_usb_phy.c @@ -755,12 +755,15 @@ bool utmi_phy_remotewake_detected(struct tegra_usb_phy *phy) unsigned int inst = phy->inst; u32 val; - /* Hack: avoid system lock-up condition upon device hot-plugging */ - mdelay(4); - DBG("%s(%d) inst:[%d]\n", __func__, __LINE__, phy->inst); val = readl(base + UTMIP_PMC_WAKEUP0); if (val & EVENT_INT_ENB) { + /* + * Hack: avoid system lock-up condition upon device hot-plugging + * behind a hub + */ + mdelay(4); + val = readl(pmc_base + UTMIP_UHSIC_STATUS); if (UTMIP_WAKE_ALARM(inst) & val) { val = readl(pmc_base + PMC_SLEEP_CFG); |