diff options
author | Alok Chauhan <alokc@nvidia.com> | 2012-02-06 14:05:27 +0530 |
---|---|---|
committer | Lokesh Pathak <lpathak@nvidia.com> | 2012-02-10 08:37:30 -0800 |
commit | e7a45eadddbce511077b0fc033406e054369fbe7 (patch) | |
tree | 1826d15a175cb14cc219bf5fd6d43ca6682d00f7 | |
parent | 041013a40a308c22310a248b1ab6d16c54ed0cce (diff) |
tegra: usb: otg: Clear the otg interrupt in suspend
Resuming from LP1 is not working if usb device is connected
or disconnected while system in LP1 state.
So clear the otg interrupt in suspend and re-enable it while
resuming.
Bug 906171
Bug 935273
Signed-off-by: Alok Chauhan <alokc@nvidia.com>
Reviewed-on: http://git-master/r/79449
(cherry picked from commit 54935893382a1b49a1a23ec39c6e479d163b910b)
Change-Id: Ia62f6fcd475905e5d3bcc93eae8a1e04c356111e
Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
Reviewed-on: http://git-master/r/82728
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
Tested-by: Varun Wadekar <vwadekar@nvidia.com>
-rw-r--r-- | drivers/usb/otg/tegra-otg.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/otg/tegra-otg.c b/drivers/usb/otg/tegra-otg.c index d23356e9c1a7..c13c9b6f089a 100644 --- a/drivers/usb/otg/tegra-otg.c +++ b/drivers/usb/otg/tegra-otg.c @@ -439,6 +439,7 @@ static int tegra_otg_suspend(struct device *dev) /* store the interupt enable for cable ID and VBUS */ clk_enable(tegra_otg->clk); tegra_otg->intr_reg_data = readl(tegra_otg->regs + USB_PHY_WAKEUP); + writel(0, (tegra_otg->regs + USB_PHY_WAKEUP)); clk_disable(tegra_otg->clk); if (from == OTG_STATE_B_PERIPHERAL && otg->gadget) { |