From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail05.groups.io (mail05.groups.io [45.79.224.7]) by spool.mail.gandi.net (Postfix) with ESMTPS id 37EA5D80078 for ; Tue, 7 May 2024 01:26:46 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=M8vLocSsvSKgtfeUSamx6YMxp6oIQCPAZn3TXWmNkh0=; c=relaxed/simple; d=groups.io; h=From:To:Cc:References:In-Reply-To:Subject:Date:Message-ID:MIME-Version:Thread-Index:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Type:Content-Language; s=20240206; t=1715045204; v=1; b=LtJNRJfME9700AeEmQz9PHbgasG99eGpNUJmh8TixUQjfPb944IQoI5aX0BtlYO+6EMVfgSZ mapeqKy6EfMwIRaJ6kf9aznjeLPD0NFC1ZG1gLKgpFFe1GPDM4o5iZvg6yIm3TsxgGsdpIGexjb p0kFlPnHKrhjGe+1R78r36lIYnkqnY+hpK3UmNIu0erFO5jHUza7aCmDOkTI+7n+pmuOgzcBZB/ F1qtVEiCzHdZdGObz0oBlEGlt+dRYaiVim1uXxeuFw9qJidux21+FfeohbWEeFAU0IMASCOLFRH hXY6mLZy7mjd3SNsJU6N5gbnpRuTYF9d7AwnBZ7jSMUjA== X-Received: by 127.0.0.2 with SMTP id kW40YY7687511x8pBNbnDrM0; Mon, 06 May 2024 18:26:44 -0700 X-Received: from cxsh.intel-email.com (cxsh.intel-email.com [121.46.250.151]) by mx.groups.io with SMTP id smtpd.web10.1306.1715045202504832867 for ; Mon, 06 May 2024 18:26:43 -0700 X-Received: from cxsh.intel-email.com (localhost [127.0.0.1]) by cxsh.intel-email.com (Postfix) with ESMTP id 4E3CDDDA81E for ; Tue, 7 May 2024 09:26:40 +0800 (CST) X-Received: from localhost (localhost [127.0.0.1]) by cxsh.intel-email.com (Postfix) with ESMTP id 495D4DDA819 for ; Tue, 7 May 2024 09:26:40 +0800 (CST) X-Received: from mail.byosoft.com.cn (mail.byosoft.com.cn [58.240.74.242]) by cxsh.intel-email.com (Postfix) with SMTP id 49BB7DDA83C for ; Tue, 7 May 2024 09:26:36 +0800 (CST) X-Received: from DESKTOPS6D0PVI ([58.246.60.130]) (envelope-sender ) by 192.168.6.13 with ESMTP(SSL) for ; Tue, 07 May 2024 09:26:34 +0800 X-WM-Sender: gaoliming@byosoft.com.cn X-Originating-IP: 58.246.60.130 X-WM-AuthFlag: YES X-WM-AuthUser: gaoliming@byosoft.com.cn From: "gaoliming via groups.io" To: , , "'Shih, More'" Cc: "'Ni, Ray'" , "'Lewandowski, Krzysztof'" , "'Huang, Jenny'" References: <23b74af38dddeff43d19da4e6de82ed1ae7b4ed8.1713164057.git.xianglei.cai@intel.com> <01dd01da8f1a$8eb0bd00$ac123700$@byosoft.com.cn> <021001da97b5$ea6f04f0$bf4d0ed0$@byosoft.com.cn> <042901daa01b$88d0fe10$9a72fa30$@byosoft.com.cn> In-Reply-To: Subject: =?UTF-8?B?5Zue5aSNOiBbZWRrMi1kZXZlbF0gW1BBVENIIFYyIDEvMV0gTWRlTW9kdWxlUGtnL1hoY2lEeGU6IFJlc2V0IGVuZHBvaW50IHdoaWxlIFVTQiBUcmFuc2FjdGlvbiBlcnJvcg==?= Date: Tue, 7 May 2024 09:26:35 +0800 Message-ID: <044301daa01d$9a424120$cec6c360$@byosoft.com.cn> MIME-Version: 1.0 Thread-Index: AQJw/gOq2/7eq0WBWVaWK72V6LPrpQF82+UCAisyoWoBuBYk6gKbU2BYAcRBgiMCta1IbQI4hcAZAmpQLTwB81VKE6/F4n6Q Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Resent-Date: Mon, 06 May 2024 18:26:43 -0700 Resent-From: gaoliming@byosoft.com.cn Reply-To: devel@edk2.groups.io,gaoliming@byosoft.com.cn List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: UqEXHRHFnqn6GjyQgHXAQDnOx7686176AA= Content-Type: multipart/alternative; boundary="----=_NextPart_000_0444_01DAA060.A867CB10" Content-Language: zh-cn X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b=LtJNRJfM; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=pass (policy=none) header.from=groups.io ------=_NextPart_000_0444_01DAA060.A867CB10 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Yes. I just add PUSH label. If it passes CI, it will be merged.=20 =20 =E5=8F=91=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io = =E4=BB=A3=E8=A1=A8 Xianglei Cai =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2024=E5=B9=B45=E6=9C=887=E6=97=A5 9:2= 4 =E6=94=B6=E4=BB=B6=E4=BA=BA: gaoliming ; Shih, Mo= re ; devel@edk2.groups.io =E6=8A=84=E9=80=81: Ni, Ray ; Lewandowski, Krzysztof ; Huang, Jenny =E4=B8=BB=E9=A2=98: Re: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe: R= eset endpoint while USB Transaction error =20 Hi Liming, =20 I create one pull request: MdeModulePkg/XhciDxe: Reset endpoint while USB T= ransaction error by Xianglei-Cai =C2=B7 Pull Request #5631 =C2=B7 tianocore= /edk2 (github.com) . Is it helpful for merge the change? =20 Thanks, Xianglei =20 From: gaoliming = >=20 Sent: Tuesday, May 7, 2024 9:12 AM To: Shih, More >; Cai, Xi= anglei >; devel@edk= 2.groups.io =20 Cc: Ni, Ray >; Lewandowski, Krz= ysztof >; Huang, Jenny = > Subject: =E5=9B=9E=E5=A4=8D: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciD= xe: Reset endpoint while USB Transaction error =20 I will merge it this week.=20 =20 =E5=8F=91=E4=BB=B6=E4=BA=BA: Shih, More >=20 =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2024=E5=B9=B45=E6=9C=886=E6=97=A5 11:= 34 =E6=94=B6=E4=BB=B6=E4=BA=BA: Cai, Xianglei >; gaoliming >; devel@edk2.groups.io = =20 =E6=8A=84=E9=80=81: Ni, Ray >; = Lewandowski, Krzysztof >; Huang, Jenny > =E4=B8=BB=E9=A2=98: Re: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe: R= eset endpoint while USB Transaction error =20 Hi Gaoliming, =20 Could you help push the PR ? =20 BR, More Shih _____ =20 From: Cai, Xianglei = > Sent: Friday, April 26, 2024 5:13 PM To: gaoliming >= ; devel@edk2.groups.io > Cc: Ni, Ray >; Lewandowski, Krz= ysztof >; Huang, Jenny = >; Shih, More > Subject: RE: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe: Reset endpoi= nt while USB Transaction error=20 =20 I have no access to push PR. But I tried with my personal fork, it can pass= CI. Thanks, Xianglei -----Original Message----- From: gaoliming = >=20 Sent: Friday, April 26, 2024 4:44 PM To: devel@edk2.groups.io ; Cai, Xianglei > Cc: Ni, Ray >; Lewandowski, Krz= ysztof >; Huang, Jenny = >; Shih, More > Subject: =E5=9B=9E=E5=A4=8D: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciD= xe: Reset endpoint while USB Transaction error Can you create PR for this patch? If it passes CI, I will add push label.= =20 Thanks Liming > -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- > =E5=8F=91=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io > =E4=BB=A3=E8= =A1=A8 Xianglei Cai > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2024=E5=B9=B44=E6=9C=8825=E6=97=A5 = 17:58 > =E6=94=B6=E4=BB=B6=E4=BA=BA: gaoliming >; devel@edk2.groups.io =20 > =E6=8A=84=E9=80=81: Ni, Ray >= ; Lewandowski, Krzysztof=20 > = >; Huang, Jenny=20 > >; Shih, More > > =E4=B8=BB=E9=A2=98: Re: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe:= Reset=20 > endpoint while USB Transaction error >=20 > Hi @gaoliming >=20 > Could you provide the eta when the patch can be merged? >=20 > Thanks, > Xianglei >=20 > -----Original Message----- > From: Cai, Xianglei > Sent: Thursday, April 18, 2024 4:59 PM > To: gaoliming = >; devel@edk2.groups.io =20 > Cc: Ni, Ray >; Lewandowski, K= rzysztof=20 > = >; Huang, Jenny=20 > >; Shih, More > > Subject: RE: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe: Reset=20 > endpoint while USB Transaction error >=20 > Hi Liming, >=20 > Could you help pick the change to the master branch? >=20 > Thanks, > Xianglei >=20 > -----Original Message----- > From: gaoliming > > Sent: Monday, April 15, 2024 5:52 PM > To: devel@edk2.groups.io ; Cai, Xianglei > > Cc: Ni, Ray >; Lewandowski, K= rzysztof=20 > = >; Huang, Jenny=20 > >; Shih, More > > Subject: =E5=9B=9E=E5=A4=8D: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/Xhc= iDxe: Reset=20 > endpoint while USB Transaction error >=20 > Reviewed-by: Liming Gao > >=20 > > -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- > > =E5=8F=91=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io > =E4=BB=A3= =E8=A1=A8 Xianglei > Cai > > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2024=E5=B9=B44=E6=9C=8815=E6=97= =A5 14:55 > > =E6=94=B6=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io =20 > > =E6=8A=84=E9=80=81: Xianglei Cai ; Ray Ni=20 > > >; Liming Gao >; Krzysztof=20 > > Lewandowski >; Jenny Huang=20 > > >; More Shih > > > =E4=B8=BB=E9=A2=98: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe: R= eset > endpoint > > while USB Transaction error > > > > https://bugzilla.tianocore.org/show_bug.cgi?id=3D4556 > > > > Based on XHCI spec 4.8.3, software should do the reset endpoint=20 > > while USB Transaction occur. > > Add the error code for USB Transaction error since UEFI spec don't=20 > > have the related definition. > > > > Cc: Ray Ni = > > > Cc: Liming Gao > > > Cc: Krzysztof Lewandowski > > > Cc: Jenny Huang > > > Cc: More Shih > > > Signed-off-by: Xianglei Cai > > > Reviewed-by: Krzysztof Lewandowski > > > --- > > MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c | 5 ++++- > > MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c | 5 ++++-=20 > > 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 =3D Urb->Result; > > *DataLength =3D Urb->Completed; > > > > - if ((*TransferResult =3D=3D EFI_USB_ERR_STALL) || (*TransferResult = =3D=3D > > EFI_USB_ERR_BABBLE)) { > > + // > > + // Based on XHCI spec 4.8.3, software should do the reset=20 > > + endpoint > while > > USB Transaction occur. > > + // > > + if ((*TransferResult =3D=3D EFI_USB_ERR_STALL) || (*TransferResult = =3D=3D > > EFI_USB_ERR_BABBLE) || (*TransferResult =3D=3D > > EDKII_USB_ERR_TRANSACTION)) { > > ASSERT (Status =3D=3D EFI_DEVICE_ERROR); > > RecoveryStatus =3D XhcRecoverHaltedEndpoint (Xhc, Urb); > > if (EFI_ERROR (RecoveryStatus)) { diff --git=20 > > 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 =3D %x\n", EvtTrb->Completecode)); > > goto EXIT; > > > > + // > > + // Based on XHCI spec 4.8.3, software should do the reset=20 > > + endpoint > > while USB Transaction occur. > > + // > > case TRB_COMPLETION_USB_TRANSACTION_ERROR: > > - CheckedUrb->Result |=3D EFI_USB_ERR_TIMEOUT; > > + CheckedUrb->Result |=3D EDKII_USB_ERR_TRANSACTION; > > CheckedUrb->Finished =3D TRUE; > > DEBUG ((DEBUG_ERROR, "XhcCheckUrbResult: > > TRANSACTION_ERROR! Completecode =3D %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=20 > > +4.8.3, software should do the reset endpoint while > > USB Transaction occur. > > +// Add the error code for USB Transaction error since UEFI spec=20 > > +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 > > > > > > > > > > >=20 >=20 >=20 >=20 >=20 >=20 >=20 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#118622): https://edk2.groups.io/g/devel/message/118622 Mute This Topic: https://groups.io/mt/105952503/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- ------=_NextPart_000_0444_01DAA060.A867CB10 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Yes. I just add PUSH label. If it passes CI, it will be me= rged.

 

=E5=8F=91=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io <devel@edk2.groups.io>= = =E4=BB=A3=E8=A1=A8 Xianglei Cai
=E5=8F=91=E9=80=81=E6=97=B6= =E9=97=B4: 2024=E5=B9=B45=E6=9C=887=E6=97=A5= 9:24
=E6=94=B6=E4=BB=B6=E4=BA=BA: gaoliming <gaoliming@byosoft.com.cn>; Shih, Mor= e <more.shih@intel.com>; devel@edk2.groups.io
=E6=8A=84= =E9=80=81: Ni, Ray <ray= .ni@intel.com>; Lewandowski, Krzysztof <krzysztof.lewandowski@intel.c= om>; Huang, Jenny <jenny.huang@intel.com>
=E4=B8=BB= =E9=A2=98: Re: [edk2-devel= ] [PATCH V2 1/1] MdeModulePkg/XhciDxe: Reset endpoint while USB Transaction= error

 

Hi Liming,

 

I create one pull request:= MdeModulePkg/= XhciDxe: Reset endpoint while USB Transaction error by Xianglei-Cai =C2=B7 = Pull Request #5631 =C2=B7 tianocore/edk2 (github.com).

Is it helpful for merge the change?

 

Thanks,

Xianglei

 

From: gaoliming <gaoliming@byosoft.com.cn>
Sent: Tuesday, May 7, 202= 4 9:12 AM
To: Shih, More <more.shih@intel.com>; Cai, Xianglei <xianglei.cai@intel.com>; devel@edk2.groups.io
Cc: Ni, Ray <ray.ni@intel.com>; Lewandowski, Krzysztof = <krzysztof.lewandowsk= i@intel.com>; Huang, Jenny <jenny.huang@intel.com>
Subject:
=E5=9B=9E=E5=A4=8D: [edk2-devel] [PATCH V2 1/1= ] MdeModulePkg/XhciDxe: Reset endpoint while USB Transaction error

 = ;

I will merge it this week.

 

=E5=8F=91=E4=BB=B6=E4=BA=BA: Shih, More <mor= e.shih@intel.com>
=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2024=E5=B9=B45=E6=9C= =886=E6=97=A5 11:34
= =E6=94=B6=E4=BB=B6=E4=BA=BA: Cai, Xianglei <xianglei.= cai@intel.com>; gaoliming <gaoliming@byosoft.com.cn>; devel@edk2.groups.io
=E6=8A=84=E9=80=81: Ni, Ray <ray.ni@intel.com>; Lewandowski, Krzysztof <krzysztof.lewandowski@intel.com&= gt;; Huang, Jenny <jenny.huang@= intel.com>
=E4=B8=BB=E9=A2=98: Re: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciD= xe: Reset endpoint while USB Transaction error

=

 

Hi Gaoliming,

<= p class=3DMsoNormal> 

C= ould you help push the PR ?

 

BR,

More Shih


From: Cai, Xianglei <= xianglei.cai@intel.com>
Sent: Friday, April 26, 2024 5:13 = PM
To: gaoliming <= gaoliming@byosoft.com.cn>; d= evel@edk2.groups.io <devel@e= dk2.groups.io>
Cc: Ni, Ray <ray.ni@intel.com>; Lewandowski, Krzysztof <krzysztof.lewandowski@intel.com&g= t;; Huang, Jenny <jenny.huang@i= ntel.com>; Shih, More <mor= e.shih@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 c= an pass CI.

Thanks,
Xianglei

-----Original Message-----From: gaoliming <gaoliming@= byosoft.com.cn>
Sent: Friday, April 26, 2024 4:44 PM
To: devel@edk2.groups.io; Cai, Xianglei= <xianglei.cai@intel.com&g= t;
Cc: Ni, Ray <ray.ni@intel.com<= /a>>; Lewandowski, Krzysztof <krzysztof.lewandowski@intel.com>; Huang, Jenny <jenny.huang@intel.com>; Shih, Mo= re <more.shih@intel.com>Subject:
=E5=9B=9E=E5=A4=8D: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe: Reset endp= oint while USB Transaction error

Can you create PR for this patch? I= f it passes CI, I will add push label.

Thanks
Liming
> ---= --
=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6-----
&g= t;
=E5=8F=91=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io <devel@edk2.groups.io> =E4=BB=A3=E8=A1=A8 Xianglei Cai
>
=E5=8F=91=E9=80=81=E6=97=B6=E9= =97=B4: 2024=E5=B9=B44= =E6=9C=8825=E6=97=A5 17:58
= >
=E6=94=B6=E4=BB=B6=E4=BA=BA: gaoliming <<= a href=3D"mailto:gaoliming@byosoft.com.cn">gaoliming@byosoft.com.cn>= ; devel@edk2.groups.io
> =
=E6=8A=84=E9=80=81: Ni, Ray <ray.ni@intel.com>; Lewandowski, Krzysztof
>= ; <krzysztof.lewandow= ski@intel.com>; Huang, Jenny
> <jenny.huang@intel.com>; Shih, More <more.shih@intel.com>
>
=E4=B8= =BB=E9=A2=98: Re: [edk2-devel] [PATCH V2 1/1] MdeModuleP= kg/XhciDxe: Reset
> endpoint while USB Transaction error
> > Hi @gaoliming
>
> Could you provide the eta when the pat= ch can be merged?
>
> Thanks,
> Xianglei
>
>= ; -----Original Message-----
> From: Cai, Xianglei
> Sent: Thur= sday, April 18, 2024 4:59 PM
> To: gaoliming <gaoliming@byosoft.com.cn>; devel@edk2.groups.io
> Cc: Ni, Ray <ray.ni@intel.com>; Lewandowski, Krz= ysztof
> <krzy= sztof.lewandowski@intel.com>; Huang, Jenny
> <jenny.huang@intel.com>; Shih, More <= more.shih@intel.com>
> = Subject: RE: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe: Reset
&g= t; endpoint while USB Transaction error
>
> Hi Liming,
>=
> Could you help pick the change to the master branch?
>
= > Thanks,
> Xianglei
>
> -----Original Message-----> From: gaoliming <gaol= iming@byosoft.com.cn>
> Sent: Monday, April 15, 2024 5:52 PM> To: devel@edk2.groups.io= ; Cai, Xianglei <xianglei.cai@= intel.com>
> Cc: Ni, Ray <ray.ni@intel.com>; Lewandowski, Krzysztof
> <krzysztof.lewandowski@intel.com>; Huang, Jenny
> <
j= enny.huang@intel.com>; Shih, More <more.shih@intel.com>
> Subject:
=E5=9B=9E=E5= =A4=8D: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe= : Reset
> endpoint while USB Transaction error
>
> Revi= ewed-by: Liming Gao <gaolimi= ng@byosoft.com.cn>
>
> > -----
=E9=82=AE=E4=BB= =B6=E5=8E=9F=E4=BB=B6-----
> >
=E5=8F=91= =E4=BB=B6=E4=BA=BA: devel@edk2.groups.io <de= vel@edk2.groups.io> =E4=BB=A3=E8=A1=A8 Xia= nglei
> Cai
> >
=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4<= span lang=3DEN-US>: 2024=E5=B9=B44=E6=9C= =8815=E6=97=A5 14:55
> &= gt;
=E6=94=B6=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io
> >
=E6=8A= =84=E9=80=81: Xianglei Cai <xianglei.cai@intel.com>; Ray Ni
> > <<= a href=3D"mailto:ray.ni@intel.com">ray.ni@intel.com>; Liming Gao <= ;gaoliming@byosoft.com.cn&g= t;; Krzysztof
> > Lewandowski <krzysztof.lewandowski@intel.com>; Jenny Huang > > <jenny.huang@intel.= com>; More Shih <more.shih= @intel.com>
> >
=E4=B8=BB=E9=A2=98: [edk2-devel] [PATCH V2 1/1] MdeModulePkg/XhciDxe: Reset
> endpoint=
> > while USB Transaction error
> >
> > https://bugzilla= .tianocore.org/show_bug.cgi?id=3D4556
> >
> > Based o= n XHCI spec 4.8.3, software should do the reset endpoint
> > whil= e USB Transaction occur.
> > Add the error code for USB Transactio= n error since UEFI spec don't
> > have the related definition.> >
> > Cc: Ray Ni       = ;           <ray.ni@intel.com>
> > Cc: Limi= ng Gao           &nb= sp;  <gaoliming@byosoft= .com.cn>
> > Cc: Krzysztof Lewandowski   <krzysztof.lewandowski@intel.= com>
> > Cc: Jenny Huang      = ;       <jenny.huang@intel.com>
> > Cc: More Shih  = ;             &= lt;more.shih@intel.com>
&g= t; > Signed-off-by: Xianglei Cai <xianglei.cai@intel.com>
> > Reviewed-by: Krzysztof L= ewandowski <krzysztof= .lewandowski@intel.com>
> > ---
> >  MdeModul= ePkg/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/MdeModulePk= g/Bus/Pci/XhciDxe/Xhci.c
> > index f4e61d223c1b..cf6b32959e68 1006= 44
> > --- a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> > +++ = b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> > @@ -825,7 +825,10 @@ Xhc= Transfer (
> >    *TransferResult =3D Urb->Resul= t;
> >    *DataLength     =3D U= rb->Completed;
> >
> > -  if ((*TransferResult = =3D=3D EFI_USB_ERR_STALL) || (*TransferResult =3D=3D
> > EFI_USB_E= RR_BABBLE)) {
> > +  //
> > +  // Based on XHCI= spec 4.8.3, software should do the reset
> > + endpoint
> = while
> > USB Transaction occur.
> > +  //
> &= gt; +  if ((*TransferResult =3D=3D EFI_USB_ERR_STALL) || (*TransferRes= ult =3D=3D
> > EFI_USB_ERR_BABBLE) || (*TransferResult =3D=3D
&= gt; > EDKII_USB_ERR_TRANSACTION)) {
> >    =   ASSERT (Status =3D=3D EFI_DEVICE_ERROR);
> >  &nb= sp;   RecoveryStatus =3D XhcRecoverHaltedEndpoint (Xhc, Urb);
= > >      if (EFI_ERROR (RecoveryStatus)) { d= iff --git
> > a/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c
> = > b/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c
> > index 5d735008= ba31..a97ed44dbfc3 100644
> > --- a/MdeModulePkg/Bus/Pci/XhciDxe/X= hciSched.c
> > +++ b/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c
&= gt; > @@ -1192,8 +1192,11 @@ XhcCheckUrbResult (
> >  = ;        DEBUG ((DEBUG_ERROR, "XhcC= heckUrbResult: ERR_BUFFER!
> > Completecode =3D %x\n", EvtTrb= ->Completecode));
> >       =    goto EXIT;
> >
> > +    =   //
> > +      // Based on XHCI spe= c 4.8.3, software should do the reset
> > + endpoint
> >= while USB Transaction occur.
> > +      = //
> >        case TRB_COMPLETI= ON_USB_TRANSACTION_ERROR:
> > -      = ;  CheckedUrb->Result  |=3D EFI_USB_ERR_TIMEOUT;
> > = +        CheckedUrb->Result  |= =3D EDKII_USB_ERR_TRANSACTION;
> >     &n= bsp;    CheckedUrb->Finished =3D TRUE;
> > =          DEBUG ((DEBUG_ERROR, "= ;XhcCheckUrbResult:
> > TRANSACTION_ERROR! Completecode =3D %x\n&q= uot;, EvtTrb->Completecode));
> >     =      goto EXIT;
> > diff --git a/MdeModulePkg/= Bus/Pci/XhciDxe/XhciSched.h
> > b/MdeModulePkg/Bus/Pci/XhciDxe/Xhc= iSched.h
> > index 7c85f7993b5c..e606e212a1d3 100644
> > = --- a/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.h
> > +++ b/MdeModule= Pkg/Bus/Pci/XhciDxe/XhciSched.h
> > @@ -78,6 +78,13 @@ SPDX-Licens= e-Identifier: BSD-2-Clause-Patent
> >  #define TRB_COMPLETION= _STOPPED           &= nbsp;     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 re= lated definition.
> > +//
> > +#define EDKII_USB_ERR_TRAN= SACTION  0x200
> > +
> >  //
> > = // The topology string used to present usb device location  //
>= ; > --
> > 2.42.0.windows.2
> >
> >
> &= gt;
> >
> >
>
>
>
>
> <= br>>
>

_._,_._,_

Groups.io Links:

=20 You receive all messages sent to this group. =20 =20

View/Reply Online (#118622) | =20 | Mute= This Topic | New Topic
Your Subscriptio= n | Contact Group Owner | Unsubscribe [rebecca@openfw.io]

_._,_._,_
------=_NextPart_000_0444_01DAA060.A867CB10--