Skip to content

Commit e1e0d30

Browse files
xiaoguangwuwenlingz
authored andcommitted
DM USB: xHCI: refine the USB disconnect logic in DM
On certain SOC, during the system suspend and resume process, connecting and disconnecting events may happen. In previous implementation, DM didn't clear PED bit in the xHCI PORTSC register, this will induce many invalid polling operations in UOS and fail to enumerate one or more USB devices. Tracked-On: #1589 Signed-off-by: Xiaoguang Wu <xiaoguang.wu@intel.com> Reviewed-by: Liang Yang <liang3.yang@intel.com> Acked-by: Yu Wang <yu1.wang@intel.com>
1 parent f799e8f commit e1e0d30

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

devicemodel/hw/pci/xhci.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1032,7 +1032,7 @@ pci_xhci_change_port(struct pci_xhci_vdev *xdev, int port, int usb_speed,
10321032

10331033
reg = XHCI_PORTREG_PTR(xdev, port);
10341034
if (conn == 0) {
1035-
reg->portsc &= ~XHCI_PS_CCS;
1035+
reg->portsc &= ~(XHCI_PS_CCS | XHCI_PS_PED);
10361036
reg->portsc |= (XHCI_PS_CSC |
10371037
XHCI_PS_PLS_SET(UPS_PORT_LS_RX_DET));
10381038
} else {

0 commit comments

Comments
 (0)