On Tue, 17 Sep 2019 at 21:49, Laszlo Ersek <ler...@redhat.com> wrote:
>
> The 3rd and 4th parameters of the CloseProtocol() call are wrong.
>
> Given that we're not dissociating a child controller from a parent
> controller (= closing a BY_CHILD_CONTROLLER open), but closing a BY_DRIVER
> open, the 4th parameter (ControllerHandle) should equal the 1st parameter
> (Handle).
>
> It's unclear why this code hasn't crashed before.
>
> Note that the patch doesn't fix the underlying driver model bug. I don't
> understand what the loop in MmcDriverBindingStop() attempts to do. Is this
> driver supposed to be a bus driver? It seems to create new handles, and to
> append device path nodes. But it doesn't set up proper parent/child
> protocol opens, and it doesn't close them.
>
> Cc: Ard Biesheuvel <ard.biesheu...@linaro.org>
> Cc: Leif Lindholm <leif.lindh...@linaro.org>
> Signed-off-by: Laszlo Ersek <ler...@redhat.com>

This code predates my involvement in Tianocore, so I cannot answer
your questions.

For the change itself,

Acked-by: Ard Biesheuvel <ard.biesheu...@linaro.org>

> ---
>
> Notes:
>     build-tested only
>
>  EmbeddedPkg/Universal/MmcDxe/Mmc.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/EmbeddedPkg/Universal/MmcDxe/Mmc.c 
> b/EmbeddedPkg/Universal/MmcDxe/Mmc.c
> index 2f9ec9c7e7c1..c6170880debd 100644
> --- a/EmbeddedPkg/Universal/MmcDxe/Mmc.c
> +++ b/EmbeddedPkg/Universal/MmcDxe/Mmc.c
> @@ -329,8 +329,9 @@ MmcDriverBindingStop (
>      // Close gEfiMmcHostProtocolGuid
>      Status = gBS->CloseProtocol (
>                  Controller,
> -                &gEfiMmcHostProtocolGuid,(VOID **) &MmcHostInstance->MmcHost,
> -                This->DriverBindingHandle
> +                &gEfiMmcHostProtocolGuid,
> +                This->DriverBindingHandle,
> +                Controller
>                  );
>
>      // Remove MMC Host Instance from the pool
> --
> 2.19.1.3.g30247aa5d201
>
>

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#48038): https://edk2.groups.io/g/devel/message/48038
Mute This Topic: https://groups.io/mt/34180203/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to