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(-)
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
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
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
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
© 2016 - 2025 Red Hat, Inc.