Sure. Update the commit message here:
The partition binding driver would run serval times during BDS. If the partition supports MBR, it would pass the first connect in the MBR routine function. The second connect would return already started which would be treated as not found and continue to run next routine. That is incorrect behavior. The device should only support one partition format. Treat the already started as success to avoid incorrect next partition routine check. Thanks, Zhichao > -----Original Message----- > From: Ni, Ray <[email protected]> > Sent: Tuesday, July 14, 2020 10:04 AM > To: [email protected]; Gao, Zhichao <[email protected]> > Cc: Wu, Hao A <[email protected]> > Subject: RE: [edk2-devel] [PATCH V3 3/3] MdeModulePkg/PartitionDxe: Add > already start check for child hanldes > > Zhichao, > Can you add more information in the commit message on what bug the patch > can fix? > With that, Reviewed-by: Ray Ni <[email protected]> > > > -----Original Message----- > > From: [email protected] <[email protected]> On Behalf Of Gao, > > Zhichao > > Sent: Tuesday, July 14, 2020 9:23 AM > > To: [email protected] > > Cc: Wu, Hao A <[email protected]>; Ni, Ray <[email protected]> > > Subject: [edk2-devel] [PATCH V3 3/3] MdeModulePkg/PartitionDxe: Add > > already start check for child hanldes > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2823 > > > > Treat the EFI_ALREADY_STARTED as EFI_SUCCESS to avoid the partition > > driver continuely check next routine function. > > > > Cc: Hao A Wu <[email protected]> > > Cc: Ray Ni <[email protected]> > > Signed-off-by: Zhichao Gao <[email protected]> > > Reviewed-by: Hao A Wu <[email protected]> > > --- > > MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c | 9 +++++++++ > > 1 file changed, 9 insertions(+) > > > > diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c > > b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c > > index d1c878ad2e..6a43c3cafb 100644 > > --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c > > +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c > > @@ -1276,6 +1276,15 @@ PartitionInstallChildHandle ( > > } else { > > FreePool (Private->DevicePath); > > FreePool (Private); > > + > > + // > > + // if the Status == EFI_ALREADY_STARTED, it means the child handles > > + // are already installed. So return EFI_SUCCESS to avoid do the next > > + // partition type check. > > + // > > + if (Status == EFI_ALREADY_STARTED) { > > + Status = EFI_SUCCESS; > > + } > > } > > > > return Status; > > -- > > 2.21.0.windows.1 > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#62476): https://edk2.groups.io/g/devel/message/62476 Mute This Topic: https://groups.io/mt/75490642/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
