On 02/19/20 06:58, Dandan Bi wrote: > This patch seems be reviewed but not submitted. Hope it can be covered in Q1 > stable tag.
Should have been merged months ago. Jian, Hao, can you pick up this patch now please? Thanks Laszlo > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Heinrich > Schuchardt > Sent: Thursday, September 12, 2019 2:34 PM > To: EDK II Development <devel@edk2.groups.io>; Bi, Dandan > <dandan...@intel.com> > Cc: Jin, Eric <eric....@intel.com>; Supreeth Venkatesh > <supreeth.venkat...@arm.com>; Stephano Cetola > <stephano.cet...@linux.intel.com>; Wu, Hao A <hao.a...@intel.com>; Wang, Jian > J <jian.j.w...@intel.com>; Gao, Liming <liming....@intel.com>; Zeng, Star > <star.z...@intel.com>; Yao, Jiewen <jiewen....@intel.com>; Laszlo Ersek > <ler...@redhat.com>; Heinrich Schuchardt <xypron.g...@gmx.de> > Subject: [edk2-devel] [edk2-core] [PATCH v3 1/1] MdeModulePkg: Make retval in > UninstallMultipleProtocol follow Spec > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1869 > > The UEFI spec requires that if any error occurs in > UninstallMultipleProtocolInterfaces(), EFI_INVALID_PARAMETER is returned and > not the return code of UninstallProtocolInterface(). > > Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de> > Reviewed-by: Dandan Bi <dandan...@intel.com> > --- > v3 > Use @retval instead of @return. > The protocols are reinstalled in the same order in which they are > uninstalled. > v2 > Adjust the subject line. > Adjust the function comments to clarify the behavior. > This replaces https://edk2.groups.io/g/devel/message/46974 > --- > MdeModulePkg/Core/Dxe/Hand/Handle.c | 20 ++++++++++++++------ > 1 file changed, 14 insertions(+), 6 deletions(-) > > diff --git a/MdeModulePkg/Core/Dxe/Hand/Handle.c > b/MdeModulePkg/Core/Dxe/Hand/Handle.c > index b2721b3ab2..81a13c6ae5 100644 > --- a/MdeModulePkg/Core/Dxe/Hand/Handle.c > +++ b/MdeModulePkg/Core/Dxe/Hand/Handle.c > @@ -802,20 +802,27 @@ Done: > - /** Uninstalls a list of protocol interface in the boot services > environment.- This function calls UnisatllProtocolInterface() in a loop. > This is+ This function calls UninstallProtocolInterface() in a loop. This is > basically a lib function to save space. - @param Handle > The handle to uninstall the protocol+ If any errors are generated while the > protocol interfaces are being+ uninstalled, then the protocol interfaces > uninstalled prior to the error will+ be reinstalled and > EFI_INVALID_PARAMETER will be returned.++ @param Handle The > handle to uninstall the protocol interfaces+ > from. @param ... EFI_GUID followed by protocol > instance. A NULL- terminates the list. The > pairs are the+ terminates the list. The pairs > are the arguments to > UninstallProtocolInterface(). All the > protocols are added to Handle. - @return Status code-+ @retval EFI_SUCCESS > if all protocol interfaces where uninstalled.+ @retval > EFI_INVALID_PARAMETER if any protocol interface could not be+ > uninstalled and an attempt was made to+ > reinstall previously uninstalled protocol+ > interfaces. **/ EFI_STATUS EFIAPI@@ -864,6 +871,7 @@ > CoreUninstallMultipleProtocolInterfaces ( > CoreInstallProtocolInterface (&Handle, Protocol, EFI_NATIVE_INTERFACE, > Interface); } VA_END (Args);+ Status = EFI_INVALID_PARAMETER; } > return Status;-- > 2.20.1 > > > -=-=-=-=-=-= > Groups.io Links: You receive all messages sent to this group. > > View/Reply Online (#47177): https://edk2.groups.io/g/devel/message/47177 > Mute This Topic: https://groups.io/mt/34112406/1768738 > Group Owner: devel+ow...@edk2.groups.io > Unsubscribe: https://edk2.groups.io/g/devel/unsub [dandan...@intel.com] > -=-=-=-=-=-= > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#54621): https://edk2.groups.io/g/devel/message/54621 Mute This Topic: https://groups.io/mt/34112406/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-