[edk2-devel] [Patch V4] MdeModulePkg/XhciDxe: Error handle for USB slot initialization failure

Wu, Hao A hao.a.wu at intel.com
Fri Oct 23 12:44:44 UTC 2020


Hello Jon,

Thanks for the testing effort.
If you patch is not urgent, could you hold your v2 patch until I merge Heng's
patch into the codebase?

I will do it early next week and will inform you as soon as it is done.
Does it sound good to you? Sorry for the inconvenience.

Best Regards,
Hao Wu

> -----Original Message-----
> From: Jon Hunter <jonathanh at nvidia.com>
> Sent: Friday, October 23, 2020 5:50 PM
> To: Wu, Hao A <hao.a.wu at intel.com>; Luo, Heng <heng.luo at intel.com>;
> devel at edk2.groups.io; jbrasen at nvidia.com
> Cc: Ni, Ray <ray.ni at intel.com>
> Subject: Re: [Patch V4] MdeModulePkg/XhciDxe: Error handle for USB slot
> initialization failure
> 
> Hi Hao,
> 
> Thanks. Yes this works with my patch. I will send out a V2 for my patch shortly.
> For this patch you can add my ...
> 
> Tested-by: Jon Hunter <jonathanh at nvidia.com>
> Reviewed-by: Jon Hunter <jonathanh at nvidia.com>
> 
> Cheers
> Jon
> 
> On 23/10/2020 03:52, Wu, Hao A wrote:
> > Hello Jon,
> >
> > Could you help to check of this version will co-work with your patch?
> > Thanks in advance.
> >
> > Best Regards,
> > Hao Wu
> >
> >> -----Original Message-----
> >> From: Luo, Heng <heng.luo at intel.com>
> >> Sent: Friday, October 23, 2020 9:26 AM
> >> To: devel at edk2.groups.io
> >> Cc: Ni, Ray <ray.ni at intel.com>; Wu, Hao A <hao.a.wu at intel.com>
> >> Subject: [Patch V4] MdeModulePkg/XhciDxe: Error handle for USB slot
> >> initialization failure
> >>
> >> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3007
> >>
> >> Currently UsbDevContext is not cleaned up if USB slot initialization
> >> is failed, the wrong context data will affect next USB devices and
> >> the USB devices can not be enumerated.
> >> Need to disable slot if USB slot initialization is failed.
> >>
> >> Below test cases are passed on UpXtreme:
> >> a. USB 3.0 thumb drives can be recognized in UEFI shell b. SUT can
> >> boot to Puppylinux  from USB3.0 mass storage,  the storage can be
> >> recognized in linux c. Plug in a USB  keyboard (hot plug) and
> >> enumeration is OK  in UEFI shell and linux d. Plug in a USB mouse(hot
> >> plug) and enumeration is OK in linux.
> >>
> >> Cc: Ray Ni <ray.ni at intel.com>
> >> Cc: Hao A Wu <hao.a.wu at intel.com>
> >> Signed-off-by: Heng Luo <heng.luo at intel.com>
> >> ---
> >>  MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c | 9 ++++++++-
> >>  1 file changed, 8 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c
> >> b/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c
> >> index 9cb115363c..00e9cc63d6 100644
> >> --- a/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c
> >> +++ b/MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c
> >> @@ -2,7 +2,7 @@
> >>     XHCI transfer scheduling routines. -Copyright (c) 2011 - 2018,
> >> Intel Corporation. All rights reserved.<BR>+Copyright (c) 2011 -
> >> 2020, Intel Corporation. All rights reserved.<BR> Copyright (c)
> >> Microsoft Corporation.<BR> SPDX-License-Identifier:
> >> BSD-2-Clause-Patent @@ -2279,6
> >> +2279,9 @@ XhcInitializeDeviceSlot (
> >>      DeviceAddress = (UINT8) ((DEVICE_CONTEXT *) OutputContext)-
> >>> Slot.DeviceAddress;     DEBUG ((EFI_D_INFO, "    Address %d assigned
> >> successfully\n", DeviceAddress));     Xhc-
> >>> UsbDevContext[SlotId].XhciDevAddr = DeviceAddress;+  } else {+    DEBUG
> >> ((DEBUG_INFO, "    Address %d assigned unsuccessfully\n"));+
> >> XhcDisableSlotCmd (Xhc, SlotId);   }    return Status;@@ -2489,7 +2492,11
> @@
> >> XhcInitializeDeviceSlot64 (
> >>      DeviceAddress = (UINT8) ((DEVICE_CONTEXT_64 *) OutputContext)-
> >>> Slot.DeviceAddress;     DEBUG ((EFI_D_INFO, "    Address %d assigned
> >> successfully\n", DeviceAddress));     Xhc-
> >>> UsbDevContext[SlotId].XhciDevAddr = DeviceAddress;+  } else {+    DEBUG
> >> ((DEBUG_INFO, "    Address %d assigned unsuccessfully\n"));+
> >> XhcDisableSlotCmd64 (Xhc, SlotId);   }+   return Status; } --
> >> 2.24.0.windows.2
> >
> 
> --
> nvpublic


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#66569): https://edk2.groups.io/g/devel/message/66569
Mute This Topic: https://groups.io/mt/77744149/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list