projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5440237
)
usb: mtu3: clear dual mode of u3port when disable device
author
Chunfeng Yun
<chunfeng.yun@mediatek.com>
Mon, 27 Jul 2020 07:14:59 +0000
(15:14 +0800)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Wed, 29 Jul 2020 14:53:58 +0000
(16:53 +0200)
If not clear u3port's dual mode when disable device, the IP
will fail to enter sleep mode when suspend.
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link:
https://lore.kernel.org/r/1595834101-13094-10-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/mtu3/mtu3_core.c
patch
|
blob
|
history
diff --git
a/drivers/usb/mtu3/mtu3_core.c
b/drivers/usb/mtu3/mtu3_core.c
index 9e0b68b3920c06e39337629ef61a105249a628d3..b3b4599375668aa862040b483b0b8be960ab8605 100644
(file)
--- a/
drivers/usb/mtu3/mtu3_core.c
+++ b/
drivers/usb/mtu3/mtu3_core.c
@@
-131,8
+131,12
@@
static void mtu3_device_disable(struct mtu3 *mtu)
mtu3_setbits(ibase, SSUSB_U2_CTRL(0),
SSUSB_U2_PORT_DIS | SSUSB_U2_PORT_PDN);
- if (mtu->ssusb->dr_mode == USB_DR_MODE_OTG)
+ if (mtu->ssusb->dr_mode == USB_DR_MODE_OTG)
{
mtu3_clrbits(ibase, SSUSB_U2_CTRL(0), SSUSB_U2_PORT_OTG_SEL);
+ if (mtu->is_u3_ip)
+ mtu3_clrbits(ibase, SSUSB_U3_CTRL(0),
+ SSUSB_U3_PORT_DUAL_MODE);
+ }
mtu3_setbits(ibase, U3D_SSUSB_IP_PW_CTRL2, SSUSB_IP_DEV_PDN);
}