Reviewed-by: Liming Gao <[email protected]> > -----Original Message----- > From: Bi, Dandan > Sent: Tuesday, July 05, 2016 4:53 PM > To: [email protected] > Cc: Gao, Liming <[email protected]>; Dong, Eric <[email protected]>; > Zhang, Chao B <[email protected]> > Subject: [patch] MdeModulePkg/HiiDB: Record fail info if fail to save data for > EfiVarStore > > HiiConfigRoutingRouteConfig function returns 'Progress' to indicate > the failure info in the ConfigResp string. But when fail to route the > ConfigResp for EfiVarStore, it doesn't return the correct failure info. > Now this patch is to fix this issue and add debug info let user know the > reason of failure. > > Cc: Liming Gao <[email protected]> > Cc: Eric Dong <[email protected]> > Cc: Chao Zhang <[email protected]> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Dandan Bi <[email protected]> > Reviewed-by: Eric Dong <[email protected]> > --- > MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c > b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c > index 106f25d..0578352 100644 > --- a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c > +++ b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c > @@ -4058,10 +4058,11 @@ RouteConfigRespForEfiVarStore ( > > Status = EFI_SUCCESS; > BufferSize = 0; > VarStore = NULL; > VarStoreName = NULL; > + *Result = RequestResp; > > NameSize = AsciiStrSize ((CHAR8 *)EfiVarStoreInfo->Name); > VarStoreName = AllocateZeroPool (NameSize * sizeof (CHAR16)); > if (VarStoreName == NULL) { > Status = EFI_OUT_OF_RESOURCES; > @@ -4069,10 +4070,11 @@ RouteConfigRespForEfiVarStore ( > } > AsciiStrToUnicodeStrS ((CHAR8 *) EfiVarStoreInfo->Name, VarStoreName, > NameSize); > > Status = gRT->GetVariable (VarStoreName, &EfiVarStoreInfo->Guid, NULL, > &BufferSize, NULL); > if (Status != EFI_BUFFER_TOO_SMALL) { > + DEBUG ((DEBUG_ERROR, "The variable does not exist!")); > goto Done; > } > > BlockSize = BufferSize; > VarStore = AllocateZeroPool (BufferSize); > @@ -4087,10 +4089,11 @@ RouteConfigRespForEfiVarStore ( > goto Done; > } > > Status = gRT->SetVariable (VarStoreName, &EfiVarStoreInfo->Guid, > EfiVarStoreInfo->Attributes, BufferSize, VarStore); > if (EFI_ERROR (Status)) { > + *Result = RequestResp; > goto Done; > } > > Done: > if (VarStoreName != NULL) { > -- > 1.9.5.msysgit.1
_______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

