[edk2] [PATCH 0/3] Check timeout URB again after stopping endpoint

Ruiyu Ni posted 3 patches 6 years, 10 months ago
Failed in applying to current master (apply log)
MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c      |  31 +++--
MdeModulePkg/Bus/Pci/XhciDxe/Xhci.h      |   3 +-
MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c | 190 +++++++++++++++++++++----------
MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.h |   9 +-
4 files changed, 159 insertions(+), 74 deletions(-)
[edk2] [PATCH 0/3] Check timeout URB again after stopping endpoint
Posted by Ruiyu Ni 6 years, 10 months ago
This fixes BULK data loss when transfer is detected as timeout but
finished just before stopping endpoint.

Ruiyu Ni (3):
  MdeModulePkg/XhciDxe: Refine IsTransferRingTrb and IsAsyncIntTrb
  MdeModulePkg/XhciDxe: Dump the CMD/EVENT/INT/BULK ring information
  MdeModulePkg/XhciDxe: Check timeout URB again after stopping endpoint

 MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c      |  31 +++--
 MdeModulePkg/Bus/Pci/XhciDxe/Xhci.h      |   3 +-
 MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c | 190 +++++++++++++++++++++----------
 MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.h |   9 +-
 4 files changed, 159 insertions(+), 74 deletions(-)

-- 
2.12.2.windows.2

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 0/3] Check timeout URB again after stopping endpoint
Posted by Zeng, Star 6 years, 10 months ago
Ray,

Does XhciPei need the same update?


Thanks,
Star
-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Ruiyu Ni
Sent: Wednesday, June 28, 2017 6:40 PM
To: edk2-devel@lists.01.org
Subject: [edk2] [PATCH 0/3] Check timeout URB again after stopping endpoint

This fixes BULK data loss when transfer is detected as timeout but finished just before stopping endpoint.

Ruiyu Ni (3):
  MdeModulePkg/XhciDxe: Refine IsTransferRingTrb and IsAsyncIntTrb
  MdeModulePkg/XhciDxe: Dump the CMD/EVENT/INT/BULK ring information
  MdeModulePkg/XhciDxe: Check timeout URB again after stopping endpoint

 MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c      |  31 +++--
 MdeModulePkg/Bus/Pci/XhciDxe/Xhci.h      |   3 +-
 MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c | 190 +++++++++++++++++++++----------
 MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.h |   9 +-
 4 files changed, 159 insertions(+), 74 deletions(-)

--
2.12.2.windows.2

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 0/3] Check timeout URB again after stopping endpoint
Posted by Ni, Ruiyu 6 years, 10 months ago
This patch supports a certain USB device that:
1. contain BULK IN endpoint
2. BULK read from HOST gets timeout if
    a. there is no data from the endpoint in the device
    b. the data comes late

For now, I haven't found any other USB devices that meet the above conditions
except the Bluetooth host controller.
Given the fact PEI USB functionality is merely to support USB storage access,
I don't have chance to test in PEI phase if I made the similar change.

So I don't prefer to update the PEI XHCI module.

If we need to update PEI XHCI in future, we could do a "cherry-pick" later,
with necessary unit test.

Thanks/Ray

> -----Original Message-----
> From: Zeng, Star
> Sent: Wednesday, June 28, 2017 9:31 PM
> To: Ni, Ruiyu <ruiyu.ni@intel.com>; edk2-devel@lists.01.org
> Cc: Tian, Feng <feng.tian@intel.com>; Wu, Hao A <hao.a.wu@intel.com>
> Subject: RE: [edk2] [PATCH 0/3] Check timeout URB again after stopping
> endpoint
> 
> Ray,
> 
> Does XhciPei need the same update?
> 
> 
> Thanks,
> Star
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> Ruiyu Ni
> Sent: Wednesday, June 28, 2017 6:40 PM
> To: edk2-devel@lists.01.org
> Subject: [edk2] [PATCH 0/3] Check timeout URB again after stopping
> endpoint
> 
> This fixes BULK data loss when transfer is detected as timeout but finished
> just before stopping endpoint.
> 
> Ruiyu Ni (3):
>   MdeModulePkg/XhciDxe: Refine IsTransferRingTrb and IsAsyncIntTrb
>   MdeModulePkg/XhciDxe: Dump the CMD/EVENT/INT/BULK ring
> information
>   MdeModulePkg/XhciDxe: Check timeout URB again after stopping endpoint
> 
>  MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c      |  31 +++--
>  MdeModulePkg/Bus/Pci/XhciDxe/Xhci.h      |   3 +-
>  MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c | 190
> +++++++++++++++++++++----------
>  MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.h |   9 +-
>  4 files changed, 159 insertions(+), 74 deletions(-)
> 
> --
> 2.12.2.windows.2
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 0/3] Check timeout URB again after stopping endpoint
Posted by Zeng, Star 6 years, 10 months ago
Get the point, thanks.


Star
-----Original Message-----
From: Ni, Ruiyu 
Sent: Thursday, June 29, 2017 10:50 AM
To: Zeng, Star <star.zeng@intel.com>; edk2-devel@lists.01.org
Cc: Tian, Feng <feng.tian@intel.com>; Wu, Hao A <hao.a.wu@intel.com>
Subject: RE: [edk2] [PATCH 0/3] Check timeout URB again after stopping endpoint

This patch supports a certain USB device that:
1. contain BULK IN endpoint
2. BULK read from HOST gets timeout if
    a. there is no data from the endpoint in the device
    b. the data comes late

For now, I haven't found any other USB devices that meet the above conditions except the Bluetooth host controller.
Given the fact PEI USB functionality is merely to support USB storage access, I don't have chance to test in PEI phase if I made the similar change.

So I don't prefer to update the PEI XHCI module.

If we need to update PEI XHCI in future, we could do a "cherry-pick" later, with necessary unit test.

Thanks/Ray

> -----Original Message-----
> From: Zeng, Star
> Sent: Wednesday, June 28, 2017 9:31 PM
> To: Ni, Ruiyu <ruiyu.ni@intel.com>; edk2-devel@lists.01.org
> Cc: Tian, Feng <feng.tian@intel.com>; Wu, Hao A <hao.a.wu@intel.com>
> Subject: RE: [edk2] [PATCH 0/3] Check timeout URB again after stopping 
> endpoint
> 
> Ray,
> 
> Does XhciPei need the same update?
> 
> 
> Thanks,
> Star
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of 
> Ruiyu Ni
> Sent: Wednesday, June 28, 2017 6:40 PM
> To: edk2-devel@lists.01.org
> Subject: [edk2] [PATCH 0/3] Check timeout URB again after stopping 
> endpoint
> 
> This fixes BULK data loss when transfer is detected as timeout but 
> finished just before stopping endpoint.
> 
> Ruiyu Ni (3):
>   MdeModulePkg/XhciDxe: Refine IsTransferRingTrb and IsAsyncIntTrb
>   MdeModulePkg/XhciDxe: Dump the CMD/EVENT/INT/BULK ring information
>   MdeModulePkg/XhciDxe: Check timeout URB again after stopping 
> endpoint
> 
>  MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c      |  31 +++--
>  MdeModulePkg/Bus/Pci/XhciDxe/Xhci.h      |   3 +-
>  MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c | 190
> +++++++++++++++++++++----------
>  MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.h |   9 +-
>  4 files changed, 159 insertions(+), 74 deletions(-)
> 
> --
> 2.12.2.windows.2
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel