From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=216.228.121.64; helo=hqemgate15.nvidia.com; envelope-from=ashishsingha@nvidia.com; receiver=edk2-devel@lists.01.org Received: from hqemgate15.nvidia.com (hqemgate15.nvidia.com [216.228.121.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 10B1F211A2DA6 for ; Fri, 4 Jan 2019 14:16:03 -0800 (PST) Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by hqemgate15.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Fri, 04 Jan 2019 14:15:48 -0800 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate102.nvidia.com (PGP Universal service); Fri, 04 Jan 2019 14:16:03 -0800 X-PGP-Universal: processed; by hqpgpgate102.nvidia.com on Fri, 04 Jan 2019 14:16:03 -0800 Received: from HQMAIL102.nvidia.com (172.18.146.10) by HQMAIL105.nvidia.com (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Fri, 4 Jan 2019 22:16:02 +0000 Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL102.nvidia.com (172.18.146.10) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Fri, 4 Jan 2019 22:16:03 +0000 Received: from hqnvemgw01.nvidia.com (172.20.150.20) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1395.4 via Frontend Transport; Fri, 4 Jan 2019 22:16:02 +0000 Received: from ashishsingha-lnx.nvidia.com (Not Verified[10.28.48.147]) by hqnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121) id ; Fri, 04 Jan 2019 14:16:02 -0800 From: Ashish Singhal To: CC: Ashish Singhal Date: Fri, 4 Jan 2019 15:15:56 -0700 Message-ID: X-Mailer: git-send-email 2.7.4 X-NVConfidentiality: public MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1546640148; bh=31SipSK74igyM75UCSkCpXF/wTxF6pvukPL3MODwiG0=; h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: X-NVConfidentiality:MIME-Version:Content-Type; b=ajZjl3qK6XPHDce0Vfhi8KPYdIWrT4HeuhI1IzmEzy3jdYeGCQZf4ZwhrzILeb2VH 99KZ+Qcp4nBI0z+kB+DLElhIVdaIEfWNIuAIU0AFcM/EpFzmYdKV2J71Jn6YSfgaMn gPplvHzPeu10fZaOcQENuXrwdINTEdp/T22TPmiw+mX7Uwje9anZW9ZyqqThqPl8os gzWmE0vFd7OrkQT+/PbV3aP3FQI1Dzd6zJ/QcqdLkGwmEeXxTcWl6x9+8ZHJz547xZ N0QN2dK5W+kUZz4OJ4w1cgSOBNlH2kZoFYI3B23IbAIBDCY3pWejn/SYb8uSXvKo9O U4P3QlElVoNhw== Subject: [PATCH 0/4] Provide UEFILib functions for protocol uninstallation. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2019 22:16:04 -0000 Content-Type: text/plain An issue was seen in IScsiDxe in NetworkPkg where driver cleanup after initialization failure was not done right. Bug 1428 was filed in this regard. As per discussions with Mike, it was also discussed that having UEFILib provide protocol uninstallation abstraction would help to avoid these issues in the future. Bug 1429 was found to track this. The first 2 patches take care of this. Patch number 3 simplifies the UEFILib protocol installation and uninstallation abstraction by adding a helper function doing operations instead of every public function. Patch set 4 uses the updated uninstallation interfaces as a result of patch 3. Ashish Singhal (4): MdePkg/UefiLib: Abstract driver model protocol uninstallation NetworkPkg/IScsiDxe: Use UEFILib APIs to uninstall protocols. MdePkg/UefiLib: Simplify protocol un/installation abstraction NetworkPkg/IScsiDxe: Update UEFILib Usage MdePkg/Include/Library/UefiLib.h | 127 ++++ MdePkg/Library/UefiLib/UefiDriverModel.c | 1205 +++++++++--------------------- NetworkPkg/IScsiDxe/IScsiDriver.c | 37 +- 3 files changed, 484 insertions(+), 885 deletions(-) -- 2.7.4