Skip to content

Conversation

@MarlboroChuang
Copy link

MdeModulePkg/UsbBusDxe: Fix UsbPortReset might run into recursive loop.

UsbSelectConfig will introduce the UsbConnectDriver call.
If this UsbPortReset is happened in the Usb device driver Start()
routine and the device FW can not be recovered by PortReset, the
UsbSelectConfig will introduce the recursive loop.

[Suggested solution]
Since UsbPortReset should not change the Bus Topology, the Reset flow
should only SetAddress and reconfigure the device.

Signed-off-by: Marlboro_Chuang marlboro.chuang@dell.com

UsbSelectConfig will introduce the UsbConnectDriver call.
If this UsbPortReset is happened in the Usb device driver Start()
routine and the device FW can not be recovered by PortReset, the
UsbSelectConfig will introduce the recursive loop.

[Suggested solution]
Since UsbPortReset should not change the Bus Topology, the Reset flow
should only SetAddress and reconfigure the device.

Signed-off-by: Marlboro_Chuang <marlboro.chuang@dell.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant