public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Sean Rhodes" <sean@starlabs.systems>
To: "Wu, Hao A" <hao.a.wu@intel.com>
Cc: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"Ni, Ray" <ray.ni@intel.com>
Subject: Re: [edk2-devel] [PATCH 1/2] MdeModulePkg/UsbBusDxe: Avoid continuing on error path
Date: Wed, 21 Sep 2022 09:00:55 +0100	[thread overview]
Message-ID: <CABtds-1q+tncwaY8V7mK1kuZ0uuQxpe27vALF=Cn+1OAKnUNrQ@mail.gmail.com> (raw)
In-Reply-To: <DM6PR11MB402542DFCEDCE5F7A28E8B58CA4F9@DM6PR11MB4025.namprd11.prod.outlook.com>


[-- Attachment #1.1: Type: text/plain, Size: 2930 bytes --]

Hi Hao

I've attached a debug log for the problem I'm trying to solve (these two
patches solve it).

The reset happens before PortState changes, so it's an endless loop.

Thanks

Sean

On Wed, 21 Sept 2022 at 06:31, Wu, Hao A <hao.a.wu@intel.com> wrote:

> Sorry, could you help to share more information on what issue is met for
> this proposed patch?
>
> It seems to me that the change made below is to handle the case where:
>
>   Status = HubApi->GetPortStatus (HubIf, Port, &PortState);
>
>   if (EFI_ERROR (Status)) {
>     DEBUG ((DEBUG_ERROR, "UsbEnumeratePort: failed to get state of port
> %d\n", Port));
>     return Status;
>   }
>
> GetPortStatus() returns EFI_ SUCCESS, but does not update the output
> parameter 'PortState'.
> Could you help to check what causes 'PortState' not being updated after a
> success return from GetPortStatus()? Thanks in advance.
>
> Also, one inline comment below:
>
>
> > -----Original Message-----
> > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Sean
> > Rhodes
> > Sent: Tuesday, September 20, 2022 9:14 PM
> > To: devel@edk2.groups.io
> > Cc: Rhodes, Sean <sean@starlabs.systems>; Wu, Hao A
> > <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>
> > Subject: [edk2-devel] [PATCH 1/2] MdeModulePkg/UsbBusDxe: Avoid
> > continuing on error path
> >
> > Zero out the PortState in case GetPortStatus didn't set it, to avoid
> > continuing with EFI_DEVICE_ERROR.
> >
> > Cc: Hao A Wu <hao.a.wu@intel.com>
> > Cc: Ray Ni <ray.ni@intel.com>
> > Signed-off-by: Sean Rhodes <sean@starlabs.systems>
> > ---
> >  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbEnumer.c | 5 +++++
> >  1 file changed, 5 insertions(+)
> >
> > diff --git a/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbEnumer.c
> > b/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbEnumer.c
> > index aed34596f4..7fc567898a 100644
> > --- a/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbEnumer.c
> > +++ b/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbEnumer.c
> > @@ -900,6 +900,11 @@ UsbEnumeratePort (
> >    Child  = NULL;
> >
> >    HubApi = HubIf->HubApi;
> >
> >
> >
> > +  // Zero out PortState in case GetPortStatus does not set it and we
> >
> > +  // continue on the EFI_DEVICE_ERROR path
> >
> > +  PortState.PortStatus       = 0;
> >
> > +  PortState.PortChangeStatus = 0;
>
>
> Could you help to use:
>
>   ZeroMem (&PortState, sizeof (EFI_USB_PORT_STATUS));
>
> here to align with other places in this driver?
>
>
> Best Regards,
> Hao Wu
>
>
> >
> > +
> >
> >    //
> >
> >    // Host learns of the new device by polling the hub for port changes.
> >
> >    //
> >
> > --
> > 2.34.1
> >
> >
> >
> > -=-=-=-=-=-=
> > Groups.io Links: You receive all messages sent to this group.
> > View/Reply Online (#93989): https://edk2.groups.io/g/devel/message/93989
> > Mute This Topic: https://groups.io/mt/93802896/1768737
> > Group Owner: devel+owner@edk2.groups.io
> > Unsubscribe: https://edk2.groups.io/g/devel/unsub [hao.a.wu@intel.com]
> > -=-=-=-=-=-=
> >
>
>

[-- Attachment #1.2: Type: text/html, Size: 5298 bytes --]

[-- Attachment #2: edk2-usb.txt --]
[-- Type: text/plain, Size: 27540 bytes --]

map: No mapping found.
Press ESC in 1 seconds to skip startup.nsh or any other key to continue.
Shell> XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 5 state - 801, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 5)
UsbEnumeratePort: new device connected at port 5
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 5 is reset
UsbEnumerateNewDev: No device present at port 5
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 803, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: new device connected at port 13
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
Enable Slot Successfully, The Slot ID = 0x4
    Address 4 assigned successfully
UsbEnumerateNewDev: hub port 13 is reset
UsbEnumerateNewDev: device is of 3 speed
UsbEnumerateNewDev: device uses translator (0, 0)
UsbEnumerateNewDev: device is now ADDRESSED at 4
UsbEnumerateNewDev: max packet size for EP 0 is 512
Evaluate context
UsbBuildDescTable: device has 1 configures
UsbGetOneConfig: total length is 44
UsbParseConfigDesc: config 1 has 1 interfaces
UsbParseInterfaceDesc: interface 0(setting 0) has 2 endpoints
Endpoint[81]: Created BULK ring [EB25280~EB26280)
Endpoint[2]: Created BULK ring [EB26280~EB27280)
Configure Endpoint
UsbEnumerateNewDev: device 4 is now in CONFIGED state
UsbSelectConfig: config 1 selected for device 4
UsbSelectSetting: setting 0 selected for interface 0
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B E883018
InstallProtocolInterface: 2B2F68D6-0CD2-44CF-8E8B-BBA20B1B5B75 E884D40
UsbConnectDriver: TPL before connect is 8, E883F18
UsbMassInitMedia: UsbBootGetParams (Media changed)
InstallProtocolInterface: 964E5B21-6459-11D2-8E39-00A0C969723B E8839B8
InstallProtocolInterface: D432A67F-14DC-484B-B3BB-3F0291849327 E883A30
InstallProtocolInterface: CE345171-BA0B-11D2-8E4F-00A0C969723B E883720
 BlockSize : 512 
 LastBlock : EC3FFF 
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B E87AE18
InstallProtocolInterface: 964E5B21-6459-11D2-8E39-00A0C969723B E879030
InstallProtocolInterface: 8CF2F62C-BC9B-4821-808D-EC9EC421A1A0 E8790E8
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B E87AF18
InstallProtocolInterface: 964E5B21-6459-11D2-8E39-00A0C969723B E879D30
InstallProtocolInterface: 8CF2F62C-BC9B-4821-808D-EC9EC421A1A0 E879DE8
PartitionDxe: El Torito standard found on handle 0xE883F18.
InstallProtocolInterface: CE345171-BA0B-11D2-8E4F-00A0C969723B E8792A0
 BlockSize : 512 
 LastBlock : F 
InstallProtocolInterface: CE345171-BA0B-11D2-8E4F-00A0C969723B E87A020
 BlockSize : 512 
 LastBlock : 7FFF 
InstallProtocolInterface: 964E5B22-6459-11D2-8E39-00A0C969723B E868030
Installed Fat filesystem on E87AB18
UsbConnectDriver: TPL after connect is 8
PROGRESS CODE: V02020006 I0
XhcClearRootHubPortFeature: status Success
Disable device slot 4!
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device at port 13 removed from root hub EB08C98
UsbDisconnectDriver: old TPL is 8, E883F18
Success to stop non-multi-lun root handle
UsbDisconnectDriver: TPL after disconnect is 8, 0
UsbRemoveDevice: device 4 removed
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 803, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: new device connected at port 13
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
Enable Slot Successfully, The Slot ID = 0x5
    Address 5 assigned successfully
UsbEnumerateNewDev: hub port 13 is reset
UsbEnumerateNewDev: device is of 3 speed
UsbEnumerateNewDev: device uses translator (0, 0)
UsbEnumerateNewDev: device is now ADDRESSED at 4
UsbEnumerateNewDev: max packet size for EP 0 is 512
Evaluate context
UsbBuildDescTable: device has 1 configures
UsbGetOneConfig: total length is 44
UsbParseConfigDesc: config 1 has 1 interfaces
UsbParseInterfaceDesc: interface 0(setting 0) has 2 endpoints
Endpoint[81]: Created BULK ring [EB25280~EB26280)
Endpoint[2]: Created BULK ring [EB26280~EB27280)
Configure Endpoint
UsbEnumerateNewDev: device 4 is now in CONFIGED state
UsbSelectConfig: config 1 selected for device 4
UsbSelectSetting: setting 0 selected for interface 0
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B E883E98
InstallProtocolInterface: 2B2F68D6-0CD2-44CF-8E8B-BBA20B1B5B75 E884D40
UsbConnectDriver: TPL before connect is 8, E883E18
UsbMassInitMedia: UsbBootGetParams (Media changed)
InstallProtocolInterface: 964E5B21-6459-11D2-8E39-00A0C969723B E8839B8
InstallProtocolInterface: D432A67F-14DC-484B-B3BB-3F0291849327 E883A30
InstallProtocolInterface: CE345171-BA0B-11D2-8E4F-00A0C969723B E883720
 BlockSize : 512 
 LastBlock : EC3FFF 
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B E879F18
InstallProtocolInterface: 964E5B21-6459-11D2-8E39-00A0C969723B E879030
InstallProtocolInterface: 8CF2F62C-BC9B-4821-808D-EC9EC421A1A0 E8790E8
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B E883418
InstallProtocolInterface: 964E5B21-6459-11D2-8E39-00A0C969723B E87AAB0
InstallProtocolInterface: 8CF2F62C-BC9B-4821-808D-EC9EC421A1A0 E87AB68
PartitionDxe: El Torito standard found on handle 0xE883E18.
InstallProtocolInterface: CE345171-BA0B-11D2-8E4F-00A0C969723B E8792A0
 BlockSize : 512 
 LastBlock : F 
InstallProtocolInterface: CE345171-BA0B-11D2-8E4F-00A0C969723B E87AEA0
 BlockSize : 512 
 LastBlock : 7FFF 
InstallProtocolInterface: 964E5B22-6459-11D2-8E39-00A0C969723B E868030
Installed Fat filesystem on E884C18
UsbConnectDriver: TPL after connect is 8
PROGRESS CODE: V02020006 I0
XhcClearRootHubPortFeature: status Success
Disable device slot 5!
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device at port 13 removed from root hub EB08C98
UsbDisconnectDriver: old TPL is 8, E883E18
Success to stop non-multi-lun root handle
UsbDisconnectDriver: TPL after disconnect is 8, 0
UsbRemoveDevice: device 4 removed
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 5 state - 801, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 5)
UsbEnumeratePort: new device connected at port 5
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 5 is reset
UsbEnumerateNewDev: No device present at port 5
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 5 state - 801, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 5)
UsbEnumeratePort: new device connected at port 5
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 5 is reset
UsbEnumerateNewDev: No device present at port 5
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 5 state - 801, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 5)
UsbEnumeratePort: new device connected at port 5
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 5 is reset
UsbEnumerateNewDev: No device present at port 5
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 803, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: new device connected at port 13
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 13 is reset
XhcClearRootHubPortFeature: status Success
UsbEnumerateNewDev: device is of 3 speed
UsbEnumerateNewDev: device uses translator (0, 0)
XhcControlTransfer: error - Device Error, transfer - 100
UsbEnumerateNewDev: failed to set device address - Device Error
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 803, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device at port 13 removed from root hub EB08C98
UsbRemoveDevice: device 4 removed
UsbEnumeratePort: new device connected at port 13
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 13 is reset
UsbEnumerateNewDev: No device present at port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 5 state - 801, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 5)
UsbEnumeratePort: new device connected at port 5
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 5 is reset
UsbEnumerateNewDev: No device present at port 5
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 803, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: new device connected at port 13
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 13 is reset
UsbEnumerateNewDev: No device present at port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 5 state - 801, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 5)
UsbEnumeratePort: new device connected at port 5
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 5 is reset
UsbEnumerateNewDev: No device present at port 5
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 803, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: new device connected at port 13
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
Enable Slot Successfully, The Slot ID = 0x6
    Address 6 assigned successfully
UsbEnumerateNewDev: hub port 13 is reset
UsbEnumerateNewDev: device is of 3 speed
UsbEnumerateNewDev: device uses translator (0, 0)
UsbEnumerateNewDev: device is now ADDRESSED at 4
UsbEnumerateNewDev: max packet size for EP 0 is 512
Evaluate context
UsbBuildDescTable: device has 1 configures
UsbGetOneConfig: total length is 44
UsbParseConfigDesc: config 1 has 1 interfaces
UsbParseInterfaceDesc: interface 0(setting 0) has 2 endpoints
Endpoint[81]: Created BULK ring [EB25280~EB26280)
Endpoint[2]: Created BULK ring [EB26280~EB27280)
Configure Endpoint
UsbEnumerateNewDev: device 4 is now in CONFIGED state
UsbSelectConfig: config 1 selected for device 4
UsbSelectSetting: setting 0 selected for interface 0
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B E883318
InstallProtocolInterface: 2B2F68D6-0CD2-44CF-8E8B-BBA20B1B5B75 E8847C0
UsbConnectDriver: TPL before connect is 8, E883D18
XhcCheckUrbResult: TRANSACTION_ERROR! Completecode = 4
XhcControlTransfer: error - Device Error, transfer - 40
XhcCheckUrbResult: TRANSACTION_ERROR! Completecode = 4
XhcBulkTransfer: error - Device Error, transfer - 40
UsbBotExecCommand: UsbBotSendCommand (Device Error)
UsbBootExecCmd: Device Error to Exec 0x12 Cmd (Result = 1)
Stop Slot = 6,Dci = 4
XhcStopEndpoint: Slot = 0x6, Dci = 0x4
Transfer Default Error Occur! Completecode = 0x13!
XhcStopEndpoint: Stop Endpoint Failed, Status = Device Error
XhcDequeueTrbFromEndpoint: Stop Endpoint Failed, Status = Device Error
XhcTransfer[Type=2]: XhcDequeueTrbFromEndpoint failed!
XhcBulkTransfer: error - Time out, transfer - 0
UsbBotExecCommand: UsbBotSendCommand (Time out)
UsbBootRequestSense: (Time out) CmdResult=0x1
Stop Slot = 6,Dci = 4
XhcStopEndpoint: Slot = 0x6, Dci = 0x4
Transfer Default Error Occur! Completecode = 0x13!
XhcStopEndpoint: Stop Endpoint Failed, Status = Device Error
XhcDequeueTrbFromEndpoint: Stop Endpoint Failed, Status = Device Error
XhcTransfer[Type=2]: XhcDequeueTrbFromEndpoint failed!
XhcBulkTransfer: error - Time out, transfer - 0
UsbBotExecCommand: UsbBotSendCommand (Time out)
UsbBootExecCmd: Time out to Exec 0x12 Cmd
Stop Slot = 6,Dci = 4
XhcStopEndpoint: Slot = 0x6, Dci = 0x4
Transfer Default Error Occur! Completecode = 0x13!
XhcStopEndpoint: Stop Endpoint Failed, Status = Device Error
XhcDequeueTrbFromEndpoint: Stop Endpoint Failed, Status = Device Error
XhcTransfer[Type=2]: XhcDequeueTrbFromEndpoint failed!
XhcBulkTransfer: error - Time out, transfer - 0
UsbBotExecCommand: UsbBotSendCommand (Time out)
UsbBootExecCmd: Time out to Exec 0x12 Cmd
Stop Slot = 6,Dci = 4
XhcStopEndpoint: Slot = 0x6, Dci = 0x4
Transfer Default Error Occur! Completecode = 0x13!
XhcStopEndpoint: Stop Endpoint Failed, Status = Device Error
XhcDequeueTrbFromEndpoint: Stop Endpoint Failed, Status = Device Error
XhcTransfer[Type=2]: XhcDequeueTrbFromEndpoint failed!
XhcBulkTransfer: error - Time out, transfer - 0
UsbBotExecCommand: UsbBotSendCommand (Time out)
UsbBootExecCmd: Time out to Exec 0x12 Cmd
Stop Slot = 6,Dci = 4
XhcStopEndpoint: Slot = 0x6, Dci = 0x4
Transfer Default Error Occur! Completecode = 0x13!
XhcStopEndpoint: Stop Endpoint Failed, Status = Device Error
XhcDequeueTrbFromEndpoint: Stop Endpoint Failed, Status = Device Error
XhcTransfer[Type=2]: XhcDequeueTrbFromEndpoint failed!
XhcBulkTransfer: error - Time out, transfer - 0
UsbBotExecCommand: UsbBotSendCommand (Time out)
UsbBootExecCmd: Time out to Exec 0x12 Cmd
Stop Slot = 6,Dci = 4
XhcStopEndpoint: Slot = 0x6, Dci = 0x4
Transfer Default Error Occur! Completecode = 0x13!
XhcStopEndpoint: Stop Endpoint Failed, Status = Device Error
XhcDequeueTrbFromEndpoint: Stop Endpoint Failed, Status = Device Error
XhcTransfer[Type=2]: XhcDequeueTrbFromEndpoint failed!
XhcBulkTransfer: error - Time out, transfer - 0
UsbBotExecCommand: UsbBotSendCommand (Time out)
UsbBootExecCmd: Time out to Exec 0x12 Cmd
UsbBootGetParams: UsbBootInquiry (Time out)
UsbMassInitMedia: UsbBootGetParams (Time out)
UsbMassInitNonLun: UsbMassInitMedia (Time out)
USBMassDriverBindingStart: UsbMassInitNonLun (Time out)
UsbConnectDriver: TPL after connect is 8
UsbSelectConfig: failed to connect driver Not Found, ignored
PROGRESS CODE: V02020006 I0
XhcClearRootHubPortFeature: status Success
Disable device slot 6!
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 5 state - 801, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 5)
UsbEnumeratePort: new device connected at port 5
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 5 is reset
UsbEnumerateNewDev: No device present at port 5
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device at port 13 removed from root hub EB08C98
UsbRemoveDevice: device 4 removed
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 803, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: new device connected at port 13
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 13 is reset
UsbEnumerateNewDev: No device present at port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 803, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: new device connected at port 13
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 13 is reset
UsbEnumerateNewDev: No device present at port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 5 state - 801, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 5)
UsbEnumeratePort: new device connected at port 5
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 5 is reset
UsbEnumerateNewDev: No device present at port 5
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 803, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: new device connected at port 13
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 13 is reset
UsbEnumerateNewDev: No device present at port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 5 state - 801, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 5)
UsbEnumeratePort: new device connected at port 5
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 5 is reset
UsbEnumerateNewDev: No device present at port 5
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 5 state - 801, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 5)
UsbEnumeratePort: new device connected at port 5
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 5 is reset
UsbEnumerateNewDev: No device present at port 5
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 5 state - 801, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 5)
UsbEnumeratePort: new device connected at port 5
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 5 is reset
UsbEnumerateNewDev: No device present at port 5
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 5 state - 801, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 5)
UsbEnumeratePort: new device connected at port 5
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 5 is reset
UsbEnumerateNewDev: No device present at port 5
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 5 state - 801, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 5)
UsbEnumeratePort: new device connected at port 5
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 5 is reset
UsbEnumerateNewDev: No device present at port 5
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 00, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: device disconnected event on port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 5 state - 801, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 5)
UsbEnumeratePort: new device connected at port 5
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 5 is reset
UsbEnumerateNewDev: No device present at port 5
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 803, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: new device connected at port 13
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 13 is reset
UsbEnumerateNewDev: No device present at port 13
XhcClearRootHubPortFeature: status Success
UsbEnumeratePort: port 13 state - 803, change - 01 on EB08C98
UsbEnumeratePort: Device Connect/Disconnect Normally (port 13)
UsbEnumeratePort: new device connected at port 13
XhcUsbPortReset!
XhcSetRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcClearRootHubPortFeature: status Success
XhcSetRootHubPortFeature: status Success
UsbEnumerateNewDev: hub port 13 is reset
UsbEnumerateNewDev: No device present at port 13


  reply	other threads:[~2022-09-21  8:01 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-20 13:14 [PATCH 1/2] MdeModulePkg/UsbBusDxe: Avoid continuing on error path Sean Rhodes
2022-09-20 13:14 ` [PATCH 2/2] MdeModulePkg/UsbBusDxe: Reset the device on error Sean Rhodes
2022-09-21  5:31   ` [edk2-devel] " Wu, Hao A
2022-09-21  5:30 ` [edk2-devel] [PATCH 1/2] MdeModulePkg/UsbBusDxe: Avoid continuing on error path Wu, Hao A
2022-09-21  8:00   ` Sean Rhodes [this message]
2022-09-21  8:24     ` Wu, Hao A
2022-09-21  8:36       ` Sean Rhodes
2022-09-22  7:30         ` Wu, Hao A
2022-09-23  8:02           ` Sean Rhodes
2022-09-23  8:12             ` Wu, Hao A

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CABtds-1q+tncwaY8V7mK1kuZ0uuQxpe27vALF=Cn+1OAKnUNrQ@mail.gmail.com' \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox