[AMD Official Use Only - General] Reviewed-by: Abner Chang <abner.ch...@amd.com>
> -----Original Message----- > From: Nickle Wang <nick...@nvidia.com> > Sent: Friday, February 10, 2023 8:34 PM > To: devel@edk2.groups.io > Cc: Chang, Abner <abner.ch...@amd.com>; Igor Kulchytskyy > <ig...@ami.com>; Nick Ramirez <nrami...@nvidia.com> > Subject: [PATCH 1/2] RedfishPkg/RedfishRestExDxe: fix driver binding stop > issue. > > Caution: This message originated from an External Source. Use proper > caution when opening attachments, clicking links, or responding. > > > RedfishRestExDriverBindingStop() does not uninstall service binding protocol > and release resource because: > - RestExDestroyChildEntryInHandleBuffer() does not remove entry when > NetIsInHandleBuffer() return false. So the linked list is not empty. > - When NumberOfChildrenis 0, binding stop function return in the > NetLibGetNicHandle() condition check and never reach to the reset of code > in driver binding stop. > > Signed-off-by: Nickle Wang <nick...@nvidia.com> > Cc: Abner Chang <abner.ch...@amd.com> > Cc: Igor Kulchytskyy <ig...@ami.com> > Cc: Nick Ramirez <nrami...@nvidia.com> > --- > RedfishPkg/RedfishRestExDxe/RedfishRestExDriver.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/RedfishPkg/RedfishRestExDxe/RedfishRestExDriver.c > b/RedfishPkg/RedfishRestExDxe/RedfishRestExDriver.c > index ad65ae213a..7036aed426 100644 > --- a/RedfishPkg/RedfishRestExDxe/RedfishRestExDriver.c > +++ b/RedfishPkg/RedfishRestExDxe/RedfishRestExDriver.c > @@ -3,6 +3,7 @@ > > Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> > (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR> > + Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. > > SPDX-License-Identifier: BSD-2-Clause-Patent > > @@ -57,6 +58,7 @@ RestExDestroyChildEntryInHandleBuffer ( > ChildHandleBuffer = > ((RESTEX_DESTROY_CHILD_IN_HANDLE_BUF_CONTEXT *)Context)- > >ChildHandleBuffer; > > if (!NetIsInHandleBuffer (Instance->ChildHandle, NumberOfChildren, > ChildHandleBuffer)) { > + RemoveEntryList (&Instance->Link); > return EFI_SUCCESS; > } > > @@ -563,7 +565,7 @@ RedfishRestExDriverBindingStop ( > ); > } > > - if ((NumberOfChildren == 0) && IsListEmpty (&RestExSb- > >RestExChildrenList)) { > + if (IsListEmpty (&RestExSb->RestExChildrenList)) { > gBS->UninstallProtocolInterface ( > NicHandle, > &gEfiRestExServiceBindingProtocolGuid, > -- > 2.39.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#100041): https://edk2.groups.io/g/devel/message/100041 Mute This Topic: https://groups.io/mt/96875045/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-