From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (NAM12-BN8-obe.outbound.protection.outlook.com [40.107.237.87]) by mx.groups.io with SMTP id smtpd.web11.17055.1670685189719452959 for ; Sat, 10 Dec 2022 07:13:09 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@amd.com header.s=selector1 header.b=mCFtLtdS; 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.237.87, mailfrom: abner.chang@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CjUz2BvQQyd9PZ4aUYdBJBcVCNxjeYM4i49rDRsk4sFNqK/MeUH7h45JbPUFJdG5Fyyf0RIokSpmwruGW4pshz1BIMwB73I9MzT8xCDyghpY9iLd9E1LHMzXDay7R/1pPi0vMvLaVakqAakhj5MAQXij/4dL/SHGs1/ex1de7y5HZ5LvpzGqVGNUVX579zdeMCXeBN9miyIrh2XMvi3mGEsghSM4qZqVSuM2ETdvSG+93t2Jg5wESa9hhM/zaYp4gsRQC97Ol6V06YJhFYdf5wrQ8FIXFOB+WfFjrTHZYZ4E9dpPzAvHvJVbdThI5bNU85+2pFaYopBh3Z/KbeJHIQ== 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=7On6SFkuWJuVu5sSzTI5qucz1YzV2UiG7BMbFiMZHE8=; b=ALbpKaNspho3eVoX7DbllI3QcQOCXox3IPpz8WM0BYzvyKyACWnDqtl96qFHMOcAtxQ35tvmDt5t3bdxc5b0wTMcUsvMBCQV499e3rmPrKCb3ReMwHR6R81kaiTsegS21Trsg1m56uHM5xGydx1kREUsvakjH+XLdktsX6RphrgdmiWus9ugtLpeNrv7ro8cCsba1h20ZoMtJT1KnGYpNoNY7NDBvFCJnzgg6xwUjh1W9bfBVBxCQMZjZKZFimCj+wvB+NGtZ1jQwsVPQpl3asBKF3Qxd1SsqBqjlVBT7EMNPIqnWEozTxBm3FMor62W/dyiNz0MgP+NyZkvRQS8WA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); 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=7On6SFkuWJuVu5sSzTI5qucz1YzV2UiG7BMbFiMZHE8=; b=mCFtLtdSzE8CGGWKsvhdZdIM6/1Zg6Nk4uR5Q0v1iiy8KarwySgtsRgC8gS48B4Bo4EyeMYG1uSeOuZ1DUXIWgT4hOgN1Lp//+zcCdRBfl3OckbRaXx4fq2dK9+7e7TpwHSB826C8lkxnPAaPu1NvtiGxakQZZAi5SSs0WFUbxc= Received: from BL0PR1501CA0036.namprd15.prod.outlook.com (2603:10b6:207:17::49) by BY5PR12MB4952.namprd12.prod.outlook.com (2603:10b6:a03:1d8::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.18; Sat, 10 Dec 2022 15:13:06 +0000 Received: from BL02EPF00010207.namprd05.prod.outlook.com (2603:10b6:207:17:cafe::ea) by BL0PR1501CA0036.outlook.office365.com (2603:10b6:207:17::49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11 via Frontend Transport; Sat, 10 Dec 2022 15:13:05 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL02EPF00010207.mail.protection.outlook.com (10.167.241.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5880.8 via Frontend Transport; Sat, 10 Dec 2022 15:13:05 +0000 Received: from TPE-L1-ABNCHANG.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Sat, 10 Dec 2022 09:13:02 -0600 From: "Chang, Abner" To: CC: , Hao A Wu , Ray Ni , Garrett Kirkendall , "Abner Chang" Subject: [PATCH V2] MdeModulePkg/XhciPei: Unlinked XhciPei memory block Date: Sat, 10 Dec 2022 23:12:40 +0800 Message-ID: <20221210151240.1548-1-abner.chang@amd.com> X-Mailer: git-send-email 2.37.1.windows.1 MIME-Version: 1.0 Return-Path: Abner.Chang@amd.com X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00010207:EE_|BY5PR12MB4952:EE_ X-MS-Office365-Filtering-Correlation-Id: 2f8316eb-fb0c-49af-921d-08dadac109c3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tqmjY/5NBsX8M6j3fEGD4HDXM53XEcU4CBcLqFFlsD1YfUPGzUFTTu2uyjycOuESOhqkz/S2CzNAxx5kI4FA8otIyKjz5nghRJarUafjT/uYrHXqREcgU392pBY6zOg8U0oU4yJK8aIX+xbgKAIubh5BVU31NOfWXo+ePtC2h0rLHzuTh9UpCJ52/N3mrZnua7JFCAyxTJp+lGRp3pOf9n8XyED24rmxvivAJVXd4Jx7OeNcYqL83ehGg+nex4HpCc7fHdJCXMMeuoR0Rgqa4uHJYWpXPc2+Lp5WJsMFuihwHpP4PgY0Ytrao1XdG15MYVYpo940yNbcTYT+tZKwJjsPqKOitzMb80b6NrJv2au3cKTD7FeU2MKJlP5sC+hFoTYVu7ynFxC+CButMLEv+QrLsr5M/4Y4yZCA7ymwQUILfKRvngsyGkRVCLz+egvj+R/iOrbiK+NlE2zO0kP5UrhIIkXvGHB5Uw1DeoywxwenW8ll1kqdwt4L4m24Mr/168eZAKNgwR1rvy0tGSF7Xh0OMszwO80+77+6cFoZPGUK+6mep5En3yQcOlIcHzp5zV4LakcKvQBhy2k82rXNtzFJTb29ndXrYqqJWCO75KJxM8UZFz3hFZ6uNciBtclfM2AI67wBTGaL4O+A+aVMFnNi4TDCi+OBjYrA5m6hohyTKrzdeiQCNYarR8GWh9waE/zHKK65g3TIb+cr8nUk2BwStzRoeDo5AWXivoMEnrY= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39850400004)(376002)(346002)(396003)(136003)(451199015)(36840700001)(40470700004)(46966006)(47076005)(6916009)(19627235002)(426003)(54906003)(336012)(316002)(81166007)(186003)(1076003)(26005)(83380400001)(41300700001)(36756003)(70206006)(2616005)(4326008)(16526019)(8676002)(70586007)(82740400003)(2906002)(5660300002)(40460700003)(36860700001)(478600001)(356005)(2876002)(7696005)(40480700001)(8936002)(6666004)(82310400005)(86362001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Dec 2022 15:13:05.3233 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2f8316eb-fb0c-49af-921d-08dadac109c3 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF00010207.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4952 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain From: Abner Chang In V2: Add AMD copyright. Unlink the XhciPei memory block when it has been freed. Signed-off-by: Kuei-Hung Lin Cc: Hao A Wu Cc: Ray Ni Cc: Garrett Kirkendall Cc: Abner Chang --- 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..39ba31b0913 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 gPei= UsbControllerPpiGuid which is used to enable recovery function from USB Drivers. =20 Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.
+Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -365,6 +366,32 @@ UsbHcInitMemPool ( return Pool; } =20 +/** + 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. =20 @@ -386,8 +413,8 @@ UsbHcFreeMemPool ( // first block. // for (Block =3D Pool->Head->Next; Block !=3D NULL; Block =3D Pool->Head->= Next) { - // UsbHcUnlinkMemBlock (Pool->Head, Block); UsbHcFreeMemBlock (Pool, Block); + UsbHcUnlinkMemBlock (Pool->Head, Block); } =20 UsbHcFreeMemBlock (Pool, Pool->Head); --=20 2.37.1.windows.1