public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Laszlo Ersek" <lersek@redhat.com>
To: dandan.bi@intel.com, "Wu, Hao A" <hao.a.wu@intel.com>,
	"Wang, Jian J" <jian.j.wang@intel.com>
Cc: devel@edk2.groups.io, xypron.glpk@gmx.de, "Jin,
	Eric" <eric.jin@intel.com>,
	Supreeth Venkatesh <supreeth.venkatesh@arm.com>,
	Stephano Cetola <stephano.cetola@linux.intel.com>,
	"Gao, Liming" <liming.gao@intel.com>,
	"Zeng, Star" <star.zeng@intel.com>,
	"Yao, Jiewen" <jiewen.yao@intel.com>
Subject: Re: [edk2-devel] [edk2-core] [PATCH v3 1/1] MdeModulePkg: Make retval in UninstallMultipleProtocol follow Spec
Date: Wed, 19 Feb 2020 09:56:59 +0100	[thread overview]
Message-ID: <37dc6139-c76e-4277-88fa-5a1e0ddd7903@redhat.com> (raw)
In-Reply-To: <3C0D5C461C9E904E8F62152F6274C0BB40D41D76@SHSMSX104.ccr.corp.intel.com>

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.bi@intel.com>
> Cc: Jin, Eric <eric.jin@intel.com>; Supreeth Venkatesh <supreeth.venkatesh@arm.com>; Stephano Cetola <stephano.cetola@linux.intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Wang, Jian J <jian.j.wang@intel.com>; Gao, Liming <liming.gao@intel.com>; Zeng, Star <star.zeng@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>; Laszlo Ersek <lersek@redhat.com>; Heinrich Schuchardt <xypron.glpk@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.glpk@gmx.de>
> Reviewed-by: Dandan Bi <dandan.bi@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+owner@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub  [dandan.bi@intel.com] -=-=-=-=-=-=
> 
> 
> 
> 


  reply	other threads:[~2020-02-19  8:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-12  6:34 [edk2-core] [PATCH v3 1/1] MdeModulePkg: Make retval in UninstallMultipleProtocol follow Spec Heinrich Schuchardt
2020-02-19  5:58 ` [edk2-devel] " Dandan Bi
2020-02-19  8:56   ` Laszlo Ersek [this message]
2020-02-19 15:43     ` Wang, Jian J
2020-02-19 11:50   ` Heinrich Schuchardt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=37dc6139-c76e-4277-88fa-5a1e0ddd7903@redhat.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox