EFI_MTFTP4_CONFIG_DATA *Config;\r
EFI_TPL OldTpl;\r
EFI_STATUS Status;\r
+ EFI_STATUS TokenStatus;\r
\r
//\r
// Validate the parameters\r
\r
Instance = MTFTP4_PROTOCOL_FROM_THIS (This);\r
\r
- Status = EFI_SUCCESS;\r
+ Status = EFI_SUCCESS;\r
+ TokenStatus = EFI_SUCCESS;\r
+ \r
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
\r
if (Instance->State != MTFTP4_STATE_CONFIGED) {\r
Status = EFI_ACCESS_DENIED;\r
}\r
\r
- if (EFI_ERROR (Status)) {\r
- gBS->RestoreTPL (OldTpl);\r
- return Status;\r
- }\r
-\r
if ((Token->OverrideData != NULL) && !Mtftp4OverrideValid (Instance, Token->OverrideData)) {\r
Status = EFI_INVALID_PARAMETER;\r
+ }\r
+\r
+ if (EFI_ERROR (Status)) {\r
gBS->RestoreTPL (OldTpl);\r
return Status;\r
}\r
);\r
\r
if (EFI_ERROR (Status)) {\r
- Status = EFI_DEVICE_ERROR;\r
+ TokenStatus = EFI_DEVICE_ERROR;\r
goto ON_ERROR;\r
}\r
}\r
// Config the unicast UDP child to send initial request\r
//\r
Status = Mtftp4ConfigUnicastPort (Instance->UnicastPort, Instance);\r
-\r
if (EFI_ERROR (Status)) {\r
- Status = EFI_DEVICE_ERROR;\r
+ TokenStatus = EFI_DEVICE_ERROR;\r
goto ON_ERROR;\r
}\r
\r
}\r
\r
if (EFI_ERROR (Status)) {\r
- Status = EFI_DEVICE_ERROR;\r
+ TokenStatus = EFI_DEVICE_ERROR;\r
goto ON_ERROR;\r
}\r
\r
return Token->Status;\r
\r
ON_ERROR:\r
- Mtftp4CleanOperation (Instance, Status);\r
+ Mtftp4CleanOperation (Instance, TokenStatus);\r
gBS->RestoreTPL (OldTpl);\r
\r
return Status;\r