From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (NAM11-CO1-obe.outbound.protection.outlook.com [40.107.220.80]) by mx.groups.io with SMTP id smtpd.web10.75136.1673278506470954218 for ; Mon, 09 Jan 2023 07:35:06 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=0NiKcAO2; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.220.80, mailfrom: jiangang.he@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ay98ptEgqbq3r871V9gSoWb72dWUlJIPyfP+c2sN/zOlMMHBywzWyQ5FWosuhNKjmAoGAuGOAdh000+MLZHzxuRJ+5TcLqtAiSZdTjIZDjegjir5EAWFW1UHrw59n5j1rdq1BHPGvdJeov8EV4KmPbHFi5msYhwAEYROscilnp30VFkbvMQJ6it5B5gxBsx44W8N9ZISZ851H65UfCC9nY9bXiu3RNWlKht5xAYGz02OWH7nSsN1M558uaaUYsANG0B9j20dxj8I5InjTQBKAVg+4iBg+O5zzc/jWR0QCNfSc7tJkhzC4EeZiyzjXhKJQJQ92S3GLaK3oYwVAHYVdA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=EhqpehmSm1vchYWr/zGNSpwblu7ENtFVcme0zZZe4M4=; b=dJ/dWKhBWaT3yKHDKnxYiIpzXIw5cMT5N41iWPOYUGC8yoBS3aIJXekcYF93hzq1dZqZAvPZB/aiB05qavyGCTV/oL2Qzj+k3kfAfKN7andNp/VtkRUdftFxpzWMs8HC71GsMboJLVDSr4/K+nFJwhbVnipmXlZCWY0oH2nXvzophcHaNX/YolvkC7irj/Ab9dqz2FQxKeLIOmQDrFrgCOZ2Yw35Wv07f/liB+xqCo08V3AMy1zTV0LFm9EXX+8fyoQz1fm/Pi/q25RpsYU1/Mv8kDQZPS6dcRJLbjOe0Yn8ffMGFRppzhzEU+TkLcNvy1/k7nWncoGeHvWZEI8xgQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EhqpehmSm1vchYWr/zGNSpwblu7ENtFVcme0zZZe4M4=; b=0NiKcAO2LJIb0g1RLjl9c47efrU6lFU/5eVOYHzIFThmjmQbW40OOPG7tOcfQGRqG5t9Dir6GdPSwVwRT9SoLWMlu8gtN5ppyBMb5esvgmQcSaz6LY4DFkbo5KlNKEn8B1NPF+Bs46kU62UN+8Kqi9diYjRFBVbEHM/7n0RXgzE= Received: from MN2PR12MB3421.namprd12.prod.outlook.com (2603:10b6:208:cd::24) by DS0PR12MB7769.namprd12.prod.outlook.com (2603:10b6:8:138::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18; Mon, 9 Jan 2023 15:35:04 +0000 Received: from MN2PR12MB3421.namprd12.prod.outlook.com ([fe80::528d:f20:ddc3:2bd9]) by MN2PR12MB3421.namprd12.prod.outlook.com ([fe80::528d:f20:ddc3:2bd9%5]) with mapi id 15.20.5944.019; Mon, 9 Jan 2023 15:35:04 +0000 From: "He, Jiangang" To: "Chang, Abner" , "Wu, Hao A" , "devel@edk2.groups.io" CC: "Ni, Ray" , "Kirkendall, Garrett" , "Lin, Kuei-Hung (Timothy)" Subject: Re: [edk2-devel] [PATCH 3/3] MdeModulePkg/XhciPei: Unlinked XhciPei memory block Thread-Topic: [edk2-devel] [PATCH 3/3] MdeModulePkg/XhciPei: Unlinked XhciPei memory block Thread-Index: AQHZFVLf39WsoYBFcUyM/jUQtuUDaK56qSOAgAWqfFCAFgDfYA== Date: Mon, 9 Jan 2023 15:35:04 +0000 Message-ID: References: <20221221154218.1624-1-abner.chang@amd.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=e617909d-37df-4fd8-a504-12282d0906e2;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2022-12-26T15:33:13Z;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3421:EE_|DS0PR12MB7769:EE_ x-ms-office365-filtering-correlation-id: 16d27f1e-bae3-4a52-f8ce-08daf2571446 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vKsDcvKfhnLLz/4h/dee3X0+2DVIYHERKP85vNfEck7K2G6nPotU8BeOHtVgQMP2GMTrohJwD0XhwHD1CgOAyZG7m27QKBF/u1gt/MJxejMTtvSXN5IOOPErx76Cb2s2xOe4H0Fn5pQCzstici22N8Uk8fUPZDmL69KJ2B4n3eKrHtfbJ7BYqZfsaxeu+PS7fFECC2mC1GSP42UCz24FKsVmQ4J/ZV313RDQSsSFoTBd+6bYHwXwqNDHzPlQ1IaDjOkE78j+9TtYdUN5rue5U1rANtSEvs7Sr/6McymknXpQNFaAxjKkqpHNufUBhRv2bhrlC1+MoFGz3GzfQZnPCKpgvwqFQ/R6AzkuVsxy9ZCT5Fqi38WJbXU8qsJVtS/jDbg0UN+U94e5gskXlO0WadcD/dpSn/t6O/TmYKspxjnxsUTEOJb65eIxg/RC6Y2Zr8eh4KVBx634m6NinB/TOLGWbTKNWUdd5F5HvmeysboVXpz6UXa/laOBku9Pik3s4nD1biPJR4+0MpeMzNalVImE5CIXbyGqIcYTmmodpRhEgNoeOom6gNExzKmkCp05ISpVIi7l9RV6UIJQtMReu3125gnphxFLVhn7ijtYCV93Yx0SRF5Q3DXV/g/QlDZ+qjG83QyOyFEWXX3JqgDwp4+PeSye55Xoaf1mnSKooSRDUCfOGqM8lZJHxRWSqvTMru8bLsT6HQqlrjmK6zu9uQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB3421.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(39860400002)(136003)(346002)(366004)(396003)(451199015)(2906002)(83380400001)(66899015)(54906003)(110136005)(9686003)(66476007)(66446008)(66556008)(64756008)(5660300002)(55016003)(66946007)(7696005)(33656002)(52536014)(53546011)(186003)(122000001)(8936002)(6506007)(478600001)(76116006)(38100700002)(8676002)(41300700001)(86362001)(38070700005)(966005)(19627235002)(4326008)(45080400002)(316002)(71200400001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?CHOygZJXM4UInnEGKAXJfWtfD7rh5FQcrwXqPCsv/JIx+t1M0ka7ZHmkJFa7?= =?us-ascii?Q?i6xU5KSWL7KajrfhnyxZLpuLNlZYca0sUfB5tiCqn2KQfJFQitMTRfZQCMUF?= =?us-ascii?Q?IDtygrXaJEWlpk+BGO8DsBVYkgv8Et1KeOPgU3Z/VrFWJNe5D0Yinsz4CM9r?= =?us-ascii?Q?A7tg4gQiH1kcExouY+GoHduKqXkREDLQ9UH9TmsHiuLyGqdddhtscHBtRaCC?= =?us-ascii?Q?S+2fGh+eaPK6P/pns4WSI/3IzbfCkMGUcPXB7JOsTyocWQ48l10RvqKOa3LJ?= =?us-ascii?Q?WIIoOaPF5m48ep9COUGKJP4wVw7C3imIfUPOuuVRvCxTytD+qZT3am3XAINb?= =?us-ascii?Q?I3GnId8ABdVelV+tKWxnpM3jOJhTch4VaGuK3q2zlxtFfpkMmoHAfnK42jjS?= =?us-ascii?Q?DNWcTVoQBHsb/89T2zBEDl8IVNwTGeZrT4rjDm1C7//OOW4Xia45mHx9dsE4?= =?us-ascii?Q?TYHTs8hrhiLqguTHmMs0lBsETZG10VYwcWyJiYGqavhqmelryFXIbM2hIpYl?= =?us-ascii?Q?R2LHl+6bwB8mYfElN8gIatF3o5hfkjQeI6oq3BA+Zea49sZZhCrbLuzQ/ckE?= =?us-ascii?Q?GrKgFbY7UirYpPQGUgqfNfyD7/AGkKUpojKWr9rAOS4Y60EbzqoTr1L3OAgW?= =?us-ascii?Q?QNPGwogG7BcnSllzeeP3VG8mdhG4RbmUpovrRPOYA/XFBFINz89KfrjG7vFi?= =?us-ascii?Q?Y6tyZo1Dhu/BjTj0GIlS0pWqE6sV1XyzjGOtFcHr5+t7M9lQGbgm7VrgRRkC?= =?us-ascii?Q?jIhWOE4HdIkh9cdqcjHckXcZiNhhv12T0R28g1S1Ydvt4Rhu+GqfSABBi+MS?= =?us-ascii?Q?M5DqSdndeBHm9rAVG6hWNrF7WjYGAUudXkCIDjKB4LX1GpZR0a2i5eGN4SZV?= =?us-ascii?Q?V1h8uM7JC6jTA8Ea0gCPiwDjIFoxQC5qtyn0AG0Dr1YGoEKCrqHarp2GT4gh?= =?us-ascii?Q?Xtfe5/pX6tWNa1tpdsd2aqVvq5D5WSIhxeME6QNCsC4qaGN5M9NRrgRmvaNK?= =?us-ascii?Q?I7Z56f7Oo/vaBYEOBXvkK3ro6MIJPzc19Pe3ZU2oQB0Wqr+l1JM+G61cTSn1?= =?us-ascii?Q?VNsK6oA2JyQ/Su008nxHy/Qq2zWZgcHhIw8agtKyPXmNnrPq3YBoPhW9dGek?= =?us-ascii?Q?aZPMg2cMMNADfby4NR9Vd0x8RgpgPZOcoa92BWRvBnO65bc10HYonjXOEHs1?= =?us-ascii?Q?B9/3qYmNMHOdTw57N63tAKsOpwlB179VpQosoRJ82XIUH5IOSEVK7wyjS1pB?= =?us-ascii?Q?b8u/QU+VlPup04fw9PygwIzmh9pdJ0W0v1d0/zHtFdvf/MEXBszkBWxUprDM?= =?us-ascii?Q?5cmazb4wlGVPKK+LWof/1za17giDHq6nyfUkdFsD22qpRNZCpOlK1sVK4+0a?= =?us-ascii?Q?X0wOQTwWP3HZhr4i/OV2B6CNIf6TZfDDbHlQ9e2LAVlmXNe3wqPCg2b9kG4I?= =?us-ascii?Q?vu58tUimMgf/vOPGgj9JiZoHfu5SlJFQkNXrA/uqIVYC9/qrMDODkMfBY3xx?= =?us-ascii?Q?NGzZab/zqfvsOVEjDBp+OlRvvTSqZ8yDw6gYYrP7pYrGBitTEBGmnJq5wAYK?= =?us-ascii?Q?8jAyEnQBwLAh6jYT3UTlawRCu0mtNLwpeD0y2P8AgvPGmrm5dpPv3vFKtX7G?= =?us-ascii?Q?6yBQW/0dJkV7C4phuoS0nNdJw3ONOTNffgXIYwmO7VSD?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3421.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 16d27f1e-bae3-4a52-f8ce-08daf2571446 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jan 2023 15:35:04.2149 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: OzNn8KWA7a22FptinYV6DgcAOpj2RjmXHqM9VA1y8PYeyoCqFZNYNtQcTwRFwkfFOHaD5IyNDvj4NpyjzTMRWw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7769 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [AMD Official Use Only - General] Hi Hao, Yes UsbHcUnlinkMemBlock() call should be uncommented. ---------------------- for (Block =3D Pool->Head->Next; Block !=3D NULL; Block =3D Pool->Head->N= ext) { UsbHcUnlinkMemBlock (Pool->Head, Block); UsbHcFreeMemBlock (Pool, Block); } ---------------------- Thanks, Jiangang -----Original Message----- From: Chang, Abner Sent: Monday, December 26, 2022 9:33 AM To: Wu, Hao A ; devel@edk2.groups.io Cc: Ni, Ray ; Kirkendall, Garrett ; Lin, Kuei-Hung (Timothy) ; He, Jiangang Subject: RE: [edk2-devel] [PATCH 3/3] MdeModulePkg/XhciPei: Unlinked XhciPe= i memory block [AMD Official Use Only - General] Hi Hao, Yes, I think we also have to uncomment it and change the order as well. How= ever, I would like to have Jiangang's confirmation. Lets wait until they co= me back from holidays. Thanks Abner > -----Original Message----- > From: Wu, Hao A > Sent: Friday, December 23, 2022 9:00 AM > To: devel@edk2.groups.io; Chang, Abner > Cc: Ni, Ray ; Kirkendall, Garrett > ; Lin, Kuei-Hung (Timothy) Hung.Lin@amd.com> > Subject: RE: [edk2-devel] [PATCH 3/3] MdeModulePkg/XhciPei: Unlinked > XhciPei memory block > > Caution: This message originated from an External Source. Use proper > caution when opening attachments, clicking links, or responding. > > > Sorry, > > I found that I missed pointing out in the previous discussion that > within function UsbHcFreeMem(), below snippet of code should be updated a= s well: > > // > // Release the current memory block if it is empty and not the head > // > if ((Block !=3D Head) && UsbHcIsMemBlockEmpty (Block)) { > // UsbHcUnlinkMemBlock (Head, Block); > UsbHcFreeMemBlock (Pool, Block); > } > > Could you help to double check if the above UsbHcUnlinkMemBlock() call > should be uncommented? > Thanks in advance. > > Best Regards, > Hao Wu > > > -----Original Message----- > > From: devel@edk2.groups.io On Behalf Of > > Chang, Abner via groups.io > > Sent: Wednesday, December 21, 2022 11:42 PM > > To: devel@edk2.groups.io > > Cc: Wu, Hao A ; Ni, Ray ; > > Garrett Kirkendall ; Abner Chang > > ; Kuei-Hung Lin > > Subject: [edk2-devel] [PATCH 3/3] MdeModulePkg/XhciPei: Unlinked > > XhciPei memory block > > > > From: Abner Chang > > > > Unlink the XhciPei memory block when it has been freed. > > > > Signed-off-by: Jiangang He > > Cc: Hao A Wu > > Cc: Ray Ni > > Cc: Garrett Kirkendall > > Cc: Abner Chang > > Cc: Kuei-Hung Lin > > --- > > MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c | 29 > > ++++++++++++++++++++++++- > > 1 file changed, 28 insertions(+), 1 deletion(-) > > > > diff --git a/MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c > > b/MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c > > index c64b38fcfc8..7dc014e465d 100644 > > --- a/MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c > > +++ b/MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c > > @@ -3,6 +3,7 @@ PEIM to produce gPeiUsb2HostControllerPpiGuid based > on > > gPeiUsbControllerPpiGuid which is used to enable recovery function > > from USB Drivers. > > > > Copyright (c) 2014 - 2016, Intel Corporation. All rights > > reserved.
> > +Copyright (C) 2022 Advanced Micro Devices, Inc. All rights > > +reserved.
> > > > SPDX-License-Identifier: BSD-2-Clause-Patent > > > > @@ -365,6 +366,32 @@ UsbHcInitMemPool ( > > return Pool; > > } > > > > +/** > > + Unlink the memory block from the pool's list. > > + > > + @param Head The block list head of the memory's pool. > > + @param BlockToUnlink The memory block to unlink. > > + > > +**/ > > +VOID > > +UsbHcUnlinkMemBlock ( > > + IN USBHC_MEM_BLOCK *Head, > > + IN USBHC_MEM_BLOCK *BlockToUnlink > > + ) > > +{ > > + USBHC_MEM_BLOCK *Block; > > + > > + ASSERT ((Head !=3D NULL) && (BlockToUnlink !=3D NULL)); > > + > > + for (Block =3D Head; Block !=3D NULL; Block =3D Block->Next) { > > + if (Block->Next =3D=3D BlockToUnlink) { > > + Block->Next =3D BlockToUnlink->Next; > > + BlockToUnlink->Next =3D NULL; > > + break; > > + } > > + } > > +} > > + > > /** > > Release the memory management pool. > > > > @@ -386,7 +413,7 @@ UsbHcFreeMemPool ( > > // first block. > > // > > for (Block =3D Pool->Head->Next; Block !=3D NULL; Block =3D > > Pool->Head->Next) > { > > - // UsbHcUnlinkMemBlock (Pool->Head, Block); > > + UsbHcUnlinkMemBlock (Pool->Head, Block); > > UsbHcFreeMemBlock (Pool, Block); > > } > > > > -- > > 2.37.1.windows.1 > > > > > > > >=20 > >