EFI_STRING Progress;\r
BROWSER_STORAGE *Storage;\r
FORM_BROWSER_CONFIG_REQUEST *ConfigInfo;\r
+ BOOLEAN SubmitFormFail;\r
+\r
+ SubmitFormFail = FALSE;\r
\r
if (!IsNvUpdateRequiredForForm (Form)) {\r
return EFI_SUCCESS;\r
//\r
// Submit fail, to get the RestoreConfigRequest and SyncConfigRequest.\r
//\r
+ SubmitFormFail = TRUE;\r
GetSyncRestoreConfigRequest (ConfigInfo->Storage, ConfigInfo->ConfigRequest, Progress, &ConfigInfo->RestoreConfigRequest, &ConfigInfo->SyncConfigRequest);\r
InsertTailList (&gBrowserSaveFailFormSetList, &ConfigInfo->SaveFailLink);\r
continue;\r
//\r
// 6 Call callback with Submitted type to inform the driver.\r
//\r
- SubmitCallback (FormSet, Form);\r
+ if (!SubmitFormFail) {\r
+ SubmitCallback (FormSet, Form);\r
+ }\r
\r
return Status;\r
}\r
FORM_BROWSER_FORM *Form;\r
BOOLEAN HasInserted;\r
FORM_BROWSER_STATEMENT *Question;\r
+ BOOLEAN SubmitFormSetFail;\r
\r
HasInserted = FALSE;\r
+ SubmitFormSetFail = FALSE;\r
\r
if (!IsNvUpdateRequiredForFormSet (FormSet)) {\r
return EFI_SUCCESS;\r
//\r
// Submit fail, to get the RestoreConfigRequest and SyncConfigRequest.\r
//\r
+ SubmitFormSetFail = TRUE;\r
GetSyncRestoreConfigRequest (FormSetStorage->BrowserStorage, FormSetStorage->ConfigRequest, Progress, &FormSetStorage->RestoreConfigRequest, &FormSetStorage->SyncConfigRequest);\r
InsertTailList (&FormSet->SaveFailStorageListHead, &FormSetStorage->SaveFailLink);\r
if (!HasInserted) {\r
//\r
// 6. Call callback with Submitted type to inform the driver.\r
//\r
- SubmitCallback (FormSet, NULL);\r
+ if (!SubmitFormSetFail) {\r
+ SubmitCallback (FormSet, NULL);\r
+ }\r
\r
return Status;\r
}\r