From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web12.7454.1587885893396144986 for ; Sun, 26 Apr 2020 00:24:53 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: guomin.jiang@intel.com) IronPort-SDR: MctKdmT2c4nj2FelBsB2sDfa2APjbi0AtSB2C9TdrSgcxb3ElkZwdKdHs7irSouQfDdTMxkn+J DY8fdAHrRwEg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Apr 2020 00:24:53 -0700 IronPort-SDR: 6mTX+vGy4BZMbMbaSGeuccam9SF9XtkCxPgrRqeyu2cFcwzO1U+ot5g+fR0eAjs6258yeAB2RF IpY0EgkN2t/g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,319,1583222400"; d="scan'208";a="457949206" Received: from guominji-mobl.ccr.corp.intel.com ([10.238.5.173]) by fmsmga005.fm.intel.com with ESMTP; 26 Apr 2020 00:24:51 -0700 From: "Guomin Jiang" To: devel@edk2.groups.io Cc: Jian J Wang , Hao A Wu , Ray Ni Subject: [PATCH v2] MdeModulePkg/UsbBusDxe: Rebuild the description table after Reset Device Date: Sun, 26 Apr 2020 15:24:51 +0800 Message-Id: <20200426072451.884-1-guomin.jiang@intel.com> X-Mailer: git-send-email 2.25.1.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2694 When the USB fail and then Reset Device, it should rebuild description. Signed-off-by: Guomin Jiang Cc: Jian J Wang Cc: Hao A Wu Cc: Ray Ni --- MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBus.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBus.c b/MdeModulePkg/Bus/Usb= /UsbBusDxe/UsbBus.c index 4b4915c019..90548da38b 100644 --- a/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBus.c +++ b/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBus.c @@ -869,6 +869,18 @@ UsbIoPortReset ( =0D DEBUG (( EFI_D_INFO, "UsbIoPortReset: device is now ADDRESSED at %d\n", = Dev->Address));=0D =0D + Status =3D UsbGetMaxPacketSize0 (Dev);=0D + if (EFI_ERROR (Status)) {=0D + DEBUG ((DEBUG_ERROR, "UsbIoPortRest: Fail to get max packet size - %r\= n", Status));=0D + goto ON_EXIT;=0D + }=0D +=0D + Status =3D UsbBuildDescTable (Dev);=0D + if (EFI_ERROR (Status)) {=0D + DEBUG ((DEBUG_ERROR, "UsbIoPortRest: Fail to build description table -= %r\n", Status));=0D + goto ON_EXIT;=0D + }=0D +=0D //=0D // Reset the current active configure, after this device=0D // is in CONFIGURED state.=0D --=20 2.25.1.windows.1