From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web09.8008.1603457173921194004 for ; Fri, 23 Oct 2020 05:46:14 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=isoP813Q; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: hao.a.wu@intel.com) IronPort-SDR: 3qmJksUsaR/Mg0NvksSkwV1rv8544Y/GEEPPd/kZPnIRcTU4g05ZnqS/9zT8eDTtQOVkbHA5rn AePU7Fd0py8w== X-IronPort-AV: E=McAfee;i="6000,8403,9782"; a="164174354" X-IronPort-AV: E=Sophos;i="5.77,408,1596524400"; d="scan'208";a="164174354" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Oct 2020 05:46:09 -0700 IronPort-SDR: Xe/GzUde3ZDj5bDqBYF8u37TxNCWUsty3JVDDUMhz82s1nV84nxti3T9v6YvODrKxODKP7WPJm CLN5om6cQEbQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,408,1596524400"; d="scan'208";a="349188919" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga004.fm.intel.com with ESMTP; 23 Oct 2020 05:46:09 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 23 Oct 2020 05:46:08 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Fri, 23 Oct 2020 05:46:08 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.172) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Fri, 23 Oct 2020 05:46:08 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PSESlyaCd7XJQjhX8TW46bQSuzrXRZmd4OPXRYvf8J5aY85XAy6EHpifiAWqzdQGZ9KMay7AgCdFzgZx8uaNhL+EIZXInHpYLPWjuLjRwc6erwFTN94BJvRqN6wg+Nmbp6MzJHS+qVv+WH6fpy2CpPwzCmMxrFe7E5cIboXFJn4Ar3Yx9OGbsaQ8ZS17D256WczxhxlSTXz8N3BqcSATUrxUh4yvfpwmnVzniUo4lsULj0MpihTO5JJZMEK2AO5PRfHox4r7XIDRUVqhhgM0HHd7WXXD0jv0RhpQwG8jayKr5Yr7ookCphs+yiOYyruGAY+klywd5cjHmGYy/WqkgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Fg2TCWGY1y/TDLdGHujTDWASxmtVOfi0ql0RIwHtuyE=; b=NJeNcl3XplJFPh6DtCPMjlfmTQ3Igd1WAOQ3Y+GpIZtYSQacaPX2DWrEEb2zGWo/XB3xvYu/BKTUDnSQayLdSle8NM1As1k8ujakwoFq6u8/Y0wwgiUpVjiqVz9VxMApQB4BeacpQchkSm7ItueNVuEeq5097Bvablj5OezVfuKOlidq84PyPNVZC33eiVfmu5pk8Tc0hwiq02rdQ2K9HjoALcnNs1Ya2NeImbcCXKie+Y3d8hafp1cXA72z67pu4R0o40x7HUtFmA84sbiLedUyMfXo78a1c/n6SXVlf2qa0E/UPxPBq3UsQ/CuuHZw6p0xXL8msCE3MWWxzNVQdQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Fg2TCWGY1y/TDLdGHujTDWASxmtVOfi0ql0RIwHtuyE=; b=isoP813Q/wgNd6SeLTo9wrj1s+ZlTmJq64XgWimxTqMH2njNIEQWuiNQKiS6JZheAj2UvDhc5ubvF5AoThKS7DwuW7zkzGr1ck7fdfuEF6TM4QGOT0kOMY/eHebUHSR8xcnF5T+3X2dXYO+gCGVTUcKjU0zmAJJS9VgjlAty2/I= Received: from BN8PR11MB3666.namprd11.prod.outlook.com (2603:10b6:408:8c::19) by BN6PR1101MB2099.namprd11.prod.outlook.com (2603:10b6:405:57::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.20; Fri, 23 Oct 2020 12:46:07 +0000 Received: from BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::c123:faac:1da3:f807]) by BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::c123:faac:1da3:f807%5]) with mapi id 15.20.3477.028; Fri, 23 Oct 2020 12:46:07 +0000 From: "Wu, Hao A" To: "Luo, Heng" , "devel@edk2.groups.io" CC: "Ni, Ray" Subject: Re: [Patch V4] MdeModulePkg/XhciDxe: Error handle for USB slot initialization failure Thread-Topic: [Patch V4] MdeModulePkg/XhciDxe: Error handle for USB slot initialization failure Thread-Index: AQHWqNzNbZrJG2y2g0Cdw6qUODc26amlIyRQ Date: Fri, 23 Oct 2020 12:46:07 +0000 Message-ID: References: <20201023012611.4808-1-heng.luo@intel.com> In-Reply-To: <20201023012611.4808-1-heng.luo@intel.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.218] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: faca0956-17ef-454a-060c-08d877519c9f x-ms-traffictypediagnostic: BN6PR1101MB2099: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Vf/QtkzpMrpjrcr+QF0lEdyKn4iBE/ExUw682E4amZhO2QCTpq7t0KaUogBsmAek1oTXimJ7mn7l5n3Vuvkry+3xa5b3V4FsGsa8XLdpm4DGbxDfdfqRg8ni/dXGJCsSPpmwdhhXfLrNwSOo9s0+sjGw5yHMvOfZ+jS2e9ojxYq/sNQh6nTm3bL5tG03qyR64/xCJ42u2ANIW9pihYb+fnpeCv4/8iVIYJ2/DNl3JblWeIkwFWZ5F/+Mz2At7dbWR0uvJ9CkuJiPhw36psSkRe+6aS3S13ekROKBX4dHOkFek05TkVfmZbsBKFLHtr1ObDRZIOKfwVaulYeCPMFRvbUDCFcRtaQySpuYO+Qmcfpgr4BI7eVrtZDgVxYZNhZTsyfVVZs2FzITqMr24B6Bxg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR11MB3666.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(366004)(39860400002)(396003)(376002)(346002)(966005)(8676002)(9686003)(110136005)(2906002)(86362001)(52536014)(5660300002)(55016002)(316002)(45080400002)(33656002)(478600001)(64756008)(76116006)(66446008)(7696005)(66946007)(83380400001)(19627235002)(66476007)(66556008)(107886003)(6506007)(71200400001)(4326008)(53546011)(26005)(186003)(8936002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: er82aTCMWWaEP12uOebEiznwx6V0uQWUCKjTYuMQs34YFU3QwqXKEYv8XDHDLAm4rkXSykS60Rsmk2ORKKvmBzG1Wnr8zG5BGsRO3NQxsmPXsutdIZbayzSU7NRsZwGwaj72ZQhvCkww/GIVG0qVbUQlyjxaMrmFG5vY9owuPjaOMRTAWugtgSjaXFHtkJ51WiboCF7GnH+qggNPIIlQt3La9g35O9sQShvZEyOSuOUcvLAJ6g57WxKMrmyd2wmZIE2dHxPj21hvuqeAXUsA2Vp7J7Fi+VRMO7vOw6vwVge/1iA6urKZgrvjUYs2SmeRHCVN2lvSGyCpzGxsCdP7WVIP5+XOn3dDjij5bx+e/PAdch7Sgmj9tPdZn0/qscOz4g1aPFTc/nauVxB41/PAPgbr1UzAbxerJ0x0R5Gxw2uCU3rIwWLTyX4wqF/kCkiCTvepZpPPcCXctQkCfNqzyL/YmaP+LVOQhmV82SivLDcAjjMBuFHOD1N6uULLIbOXdwQItnm6zRd5WSetZSzgiS938+K3Jgr6KmslVXOMqIXkWjRFpPQPcksP+onkbD+aExP/qXP8gpeD3sOPBrSrqX0uki2MdYDVDuQJffUpAqVFV1REiX99Cnnp7P9ONh8awIzRFZnIYhY/IDNHKkHsQw== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN8PR11MB3666.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: faca0956-17ef-454a-060c-08d877519c9f X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Oct 2020 12:46:07.4949 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: e8x/qbJFPh8pTjLzUxoI8KLzSiGqR61cl4t3pUT9yhW7qD1pNlvnGOMybULa4MPHMLqKIxkXZDtGiqTOoE866g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR1101MB2099 Return-Path: hao.a.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable > -----Original Message----- > From: Luo, Heng > Sent: Friday, October 23, 2020 9:26 AM > To: devel@edk2.groups.io > Cc: Ni, Ray ; Wu, Hao A > Subject: [Patch V4] MdeModulePkg/XhciDxe: Error handle for USB slot > initialization failure >=20 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3007 >=20 > Currently UsbDevContext is not cleaned up if USB slot initialization is f= ailed, the > wrong context data will affect next USB devices and the USB devices can n= ot be > enumerated. > Need to disable slot if USB slot initialization is failed. >=20 > Below test cases are passed on UpXtreme: > a. USB 3.0 thumb drives can be recognized in UEFI shell b. SUT can boot t= o > Puppylinux from USB3.0 mass storage, the storage can be recognized in l= inux c. > Plug in a USB keyboard (hot plug) and enumeration is OK in UEFI shell a= nd linux > d. Plug in a USB mouse(hot plug) and enumeration is OK in linux. Reviewed-by: Hao A Wu Best Regards, Hao Wu >=20 > Cc: Ray Ni > Cc: Hao A Wu > Signed-off-by: Heng Luo > --- > MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) >=20 > 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.
+Copyright (c) 2011 - 2020, Intel > Corporation. All rights reserved.
Copyright (c) Microsoft Corporation= .
> SPDX-License-Identifier: BSD-2-Clause-Patent @@ -2279,6 +2279,9 @@ > XhcInitializeDeviceSlot ( > DeviceAddress =3D (UINT8) ((DEVICE_CONTEXT *) OutputContext)- > >Slot.DeviceAddress; DEBUG ((EFI_D_INFO, " Address %d assigned > successfully\n", DeviceAddress)); Xhc->UsbDevContext[SlotId].XhciDevA= ddr =3D > DeviceAddress;+ } else {+ DEBUG ((DEBUG_INFO, " Address %d assigne= d > unsuccessfully\n"));+ XhcDisableSlotCmd (Xhc, SlotId); } return S= tatus;@@ - > 2489,7 +2492,11 @@ XhcInitializeDeviceSlot64 ( > DeviceAddress =3D (UINT8) ((DEVICE_CONTEXT_64 *) OutputContext)- > >Slot.DeviceAddress; DEBUG ((EFI_D_INFO, " Address %d assigned > successfully\n", DeviceAddress)); Xhc->UsbDevContext[SlotId].XhciDevA= ddr =3D > DeviceAddress;+ } else {+ DEBUG ((DEBUG_INFO, " Address %d assigne= d > unsuccessfully\n"));+ XhcDisableSlotCmd64 (Xhc, SlotId); }+ return= Status; } -- > 2.24.0.windows.2