Hi Liming, I create one pull request: MdeModulePkg/XhciDxe: Reset endpoint while USB Transaction error by Xianglei-Cai · Pull Request #5631 · tianocore/edk2 (github.com)<https://github.com/tianocore/edk2/pull/5631>. Is it helpful for merge the change?
Thanks, Xianglei From: gaoliming <gaolim...@byosoft.com.cn> Sent: Tuesday, May 7, 2024 9:12 AM To: Shih, More <more.s...@intel.com>; Cai, Xianglei <xianglei....@intel.com>; devel@edk2.groups.io Cc: Ni, Ray <ray...@intel.com>; Lewandowski, Krzysztof <krzysztof.lewandow...@intel.com>; Huang, Jenny <jenny.hu...@intel.com> Subject: 回复: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe: Reset endpoint while USB Transaction error I will merge it this week. 发件人: Shih, More <more.s...@intel.com<mailto:more.s...@intel.com>> 发送时间: 2024年5月6日 11:34 收件人: Cai, Xianglei <xianglei....@intel.com<mailto:xianglei....@intel.com>>; gaoliming <gaolim...@byosoft.com.cn<mailto:gaolim...@byosoft.com.cn>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> 抄送: Ni, Ray <ray...@intel.com<mailto:ray...@intel.com>>; Lewandowski, Krzysztof <krzysztof.lewandow...@intel.com<mailto:krzysztof.lewandow...@intel.com>>; Huang, Jenny <jenny.hu...@intel.com<mailto:jenny.hu...@intel.com>> 主题: Re: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe: Reset endpoint while USB Transaction error Hi Gaoliming, Could you help push the PR ? BR, More Shih ________________________________ From: Cai, Xianglei <xianglei....@intel.com<mailto:xianglei....@intel.com>> Sent: Friday, April 26, 2024 5:13 PM To: gaoliming <gaolim...@byosoft.com.cn<mailto:gaolim...@byosoft.com.cn>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> Cc: Ni, Ray <ray...@intel.com<mailto:ray...@intel.com>>; Lewandowski, Krzysztof <krzysztof.lewandow...@intel.com<mailto:krzysztof.lewandow...@intel.com>>; Huang, Jenny <jenny.hu...@intel.com<mailto:jenny.hu...@intel.com>>; Shih, More <more.s...@intel.com<mailto:more.s...@intel.com>> Subject: RE: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe: Reset endpoint while USB Transaction error I have no access to push PR. But I tried with my personal fork, it can pass CI. Thanks, Xianglei -----Original Message----- From: gaoliming <gaolim...@byosoft.com.cn<mailto:gaolim...@byosoft.com.cn>> Sent: Friday, April 26, 2024 4:44 PM To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Cai, Xianglei <xianglei....@intel.com<mailto:xianglei....@intel.com>> Cc: Ni, Ray <ray...@intel.com<mailto:ray...@intel.com>>; Lewandowski, Krzysztof <krzysztof.lewandow...@intel.com<mailto:krzysztof.lewandow...@intel.com>>; Huang, Jenny <jenny.hu...@intel.com<mailto:jenny.hu...@intel.com>>; Shih, More <more.s...@intel.com<mailto:more.s...@intel.com>> Subject: 回复: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe: Reset endpoint while USB Transaction error Can you create PR for this patch? If it passes CI, I will add push label. Thanks Liming > -----邮件原件----- > 发件人: devel@edk2.groups.io<mailto:devel@edk2.groups.io> > <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> 代表 Xianglei Cai > 发送时间: 2024年4月25日 17:58 > 收件人: gaoliming <gaolim...@byosoft.com.cn<mailto:gaolim...@byosoft.com.cn>>; > devel@edk2.groups.io<mailto:devel@edk2.groups.io> > 抄送: Ni, Ray <ray...@intel.com<mailto:ray...@intel.com>>; Lewandowski, > Krzysztof > <krzysztof.lewandow...@intel.com<mailto:krzysztof.lewandow...@intel.com>>; > Huang, Jenny > <jenny.hu...@intel.com<mailto:jenny.hu...@intel.com>>; Shih, More > <more.s...@intel.com<mailto:more.s...@intel.com>> > 主题: Re: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe: Reset > endpoint while USB Transaction error > > Hi @gaoliming > > Could you provide the eta when the patch can be merged? > > Thanks, > Xianglei > > -----Original Message----- > From: Cai, Xianglei > Sent: Thursday, April 18, 2024 4:59 PM > To: gaoliming <gaolim...@byosoft.com.cn<mailto:gaolim...@byosoft.com.cn>>; > devel@edk2.groups.io<mailto:devel@edk2.groups.io> > Cc: Ni, Ray <ray...@intel.com<mailto:ray...@intel.com>>; Lewandowski, > Krzysztof > <krzysztof.lewandow...@intel.com<mailto:krzysztof.lewandow...@intel.com>>; > Huang, Jenny > <jenny.hu...@intel.com<mailto:jenny.hu...@intel.com>>; Shih, More > <more.s...@intel.com<mailto:more.s...@intel.com>> > Subject: RE: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe: Reset > endpoint while USB Transaction error > > Hi Liming, > > Could you help pick the change to the master branch? > > Thanks, > Xianglei > > -----Original Message----- > From: gaoliming <gaolim...@byosoft.com.cn<mailto:gaolim...@byosoft.com.cn>> > Sent: Monday, April 15, 2024 5:52 PM > To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Cai, Xianglei > <xianglei....@intel.com<mailto:xianglei....@intel.com>> > Cc: Ni, Ray <ray...@intel.com<mailto:ray...@intel.com>>; Lewandowski, > Krzysztof > <krzysztof.lewandow...@intel.com<mailto:krzysztof.lewandow...@intel.com>>; > Huang, Jenny > <jenny.hu...@intel.com<mailto:jenny.hu...@intel.com>>; Shih, More > <more.s...@intel.com<mailto:more.s...@intel.com>> > Subject: 回复: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe: Reset > endpoint while USB Transaction error > > Reviewed-by: Liming Gao > <gaolim...@byosoft.com.cn<mailto:gaolim...@byosoft.com.cn>> > > > -----邮件原件----- > > 发件人: devel@edk2.groups.io<mailto:devel@edk2.groups.io> > > <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> 代表 Xianglei > Cai > > 发送时间: 2024年4月15日 14:55 > > 收件人: devel@edk2.groups.io<mailto:devel@edk2.groups.io> > > 抄送: Xianglei Cai <xianglei....@intel.com<mailto:xianglei....@intel.com>>; > > Ray Ni > > <ray...@intel.com<mailto:ray...@intel.com>>; Liming Gao > > <gaolim...@byosoft.com.cn<mailto:gaolim...@byosoft.com.cn>>; Krzysztof > > Lewandowski > > <krzysztof.lewandow...@intel.com<mailto:krzysztof.lewandow...@intel.com>>; > > Jenny Huang > > <jenny.hu...@intel.com<mailto:jenny.hu...@intel.com>>; More Shih > > <more.s...@intel.com<mailto:more.s...@intel.com>> > > 主题: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe: Reset > endpoint > > while USB Transaction error > > > > https://bugzilla.tianocore.org/show_bug.cgi?id=4556 > > > > Based on XHCI spec 4.8.3, software should do the reset endpoint > > while USB Transaction occur. > > Add the error code for USB Transaction error since UEFI spec don't > > have the related definition. > > > > Cc: Ray Ni <ray...@intel.com<mailto:ray...@intel.com>> > > Cc: Liming Gao > > <gaolim...@byosoft.com.cn<mailto:gaolim...@byosoft.com.cn>> > > Cc: Krzysztof Lewandowski > > <krzysztof.lewandow...@intel.com<mailto:krzysztof.lewandow...@intel.com>> > > Cc: Jenny Huang > > <jenny.hu...@intel.com<mailto:jenny.hu...@intel.com>> > > Cc: More Shih > > <more.s...@intel.com<mailto:more.s...@intel.com>> > > Signed-off-by: Xianglei Cai > > <xianglei....@intel.com<mailto:xianglei....@intel.com>> > > Reviewed-by: Krzysztof Lewandowski > > <krzysztof.lewandow...@intel.com<mailto:krzysztof.lewandow...@intel.com>> > > --- > > MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c | 5 ++++- > > MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c | 5 ++++- > > MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.h | 7 +++++++ > > 3 files changed, 15 insertions(+), 2 deletions(-) > > > > diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c > > b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c > > index f4e61d223c1b..cf6b32959e68 100644 > > --- a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c > > +++ b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c > > @@ -825,7 +825,10 @@ XhcTransfer ( > > *TransferResult = Urb->Result; > > *DataLength = Urb->Completed; > > > > - if ((*TransferResult == EFI_USB_ERR_STALL) || (*TransferResult == > > EFI_USB_ERR_BABBLE)) { > > + // > > + // Based on XHCI spec 4.8.3, software should do the reset > > + endpoint > while > > USB Transaction occur. > > + // > > + if ((*TransferResult == EFI_USB_ERR_STALL) || (*TransferResult == > > EFI_USB_ERR_BABBLE) || (*TransferResult == > > EDKII_USB_ERR_TRANSACTION)) { > > ASSERT (Status == EFI_DEVICE_ERROR); > > RecoveryStatus = XhcRecoverHaltedEndpoint (Xhc, Urb); > > if (EFI_ERROR (RecoveryStatus)) { diff --git > > a/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c > > b/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c > > index 5d735008ba31..a97ed44dbfc3 100644 > > --- a/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c > > +++ b/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c > > @@ -1192,8 +1192,11 @@ XhcCheckUrbResult ( > > DEBUG ((DEBUG_ERROR, "XhcCheckUrbResult: ERR_BUFFER! > > Completecode = %x\n", EvtTrb->Completecode)); > > goto EXIT; > > > > + // > > + // Based on XHCI spec 4.8.3, software should do the reset > > + endpoint > > while USB Transaction occur. > > + // > > case TRB_COMPLETION_USB_TRANSACTION_ERROR: > > - CheckedUrb->Result |= EFI_USB_ERR_TIMEOUT; > > + CheckedUrb->Result |= EDKII_USB_ERR_TRANSACTION; > > CheckedUrb->Finished = TRUE; > > DEBUG ((DEBUG_ERROR, "XhcCheckUrbResult: > > TRANSACTION_ERROR! Completecode = %x\n", EvtTrb->Completecode)); > > goto EXIT; > > diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.h > > b/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.h > > index 7c85f7993b5c..e606e212a1d3 100644 > > --- a/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.h > > +++ b/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.h > > @@ -78,6 +78,13 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > #define TRB_COMPLETION_STOPPED 26 > > #define TRB_COMPLETION_STOPPED_LENGTH_INVALID 27 > > > > +// > > +// USB Transfer Results Internal Definition // Based on XHCI spec > > +4.8.3, software should do the reset endpoint while > > USB Transaction occur. > > +// Add the error code for USB Transaction error since UEFI spec > > +don't > have > > the related definition. > > +// > > +#define EDKII_USB_ERR_TRANSACTION 0x200 > > + > > // > > // The topology string used to present usb device location // > > -- > > 2.42.0.windows.2 > > > > > > > > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#118619): https://edk2.groups.io/g/devel/message/118619 Mute This Topic: https://groups.io/mt/105952466/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-