}\r
\r
/**\r
- This function check\r
+ This function check Http receive status.\r
\r
@param[in] Instance Pointer to EFI_REST_EX_PROTOCOL instance for a particular\r
REST service.\r
\r
if (!EFI_ERROR (HttpIoReceiveStatus)) {\r
ReturnStatus = EFI_SUCCESS;\r
- } else if (EFI_ERROR (HttpIoReceiveStatus) && (HttpIoReceiveStatus != EFI_CONNECTION_FIN)) {\r
+ } else if (HttpIoReceiveStatus != EFI_CONNECTION_FIN) {\r
if ((Instance->Flags & RESTEX_INSTANCE_FLAGS_TCP_ERROR_RETRY) == 0) {\r
DEBUG ((DEBUG_ERROR, "%a: TCP error, reset HTTP session.\n", __FUNCTION__));\r
Instance->Flags |= RESTEX_INSTANCE_FLAGS_TCP_ERROR_RETRY;\r
gBS->Stall (500);\r
Status = ResetHttpTslSession (Instance);\r
- if (EFI_ERROR (Status)) {\r
- DEBUG ((DEBUG_ERROR, "%a: Reset HTTP instance fail.\n", __FUNCTION__));\r
- ReturnStatus = EFI_DEVICE_ERROR;\r
- } else {\r
+ if (!EFI_ERROR (Status)) {\r
return EFI_NOT_READY;\r
}\r
- } else {\r
- ReturnStatus = EFI_DEVICE_ERROR;\r
+\r
+ DEBUG ((DEBUG_ERROR, "%a: Reset HTTP instance fail.\n", __FUNCTION__));\r
}\r
- } else {\r
- if (HttpIoReceiveStatus == EFI_CONNECTION_FIN) {\r
- if ((Instance->Flags & RESTEX_INSTANCE_FLAGS_TLS_RETRY) != 0) {\r
- DEBUG ((DEBUG_ERROR, "%a: REST_EX Send and receive fail even with a new TLS session.\n", __FUNCTION__));\r
- ReturnStatus = EFI_DEVICE_ERROR;\r
- }\r
\r
- Instance->Flags |= RESTEX_INSTANCE_FLAGS_TLS_RETRY;\r
- Status = ResetHttpTslSession (Instance);\r
- if (EFI_ERROR (Status)) {\r
- DEBUG ((DEBUG_ERROR, "%a: Reset HTTP instance fail.\n", __FUNCTION__));\r
- ReturnStatus = EFI_DEVICE_ERROR;\r
- }\r
+ ReturnStatus = EFI_DEVICE_ERROR;\r
+ } else {\r
+ if ((Instance->Flags & RESTEX_INSTANCE_FLAGS_TLS_RETRY) != 0) {\r
+ DEBUG ((DEBUG_ERROR, "%a: REST_EX Send and receive fail even with a new TLS session.\n", __FUNCTION__));\r
+ ReturnStatus = EFI_DEVICE_ERROR;\r
+ }\r
\r
- return EFI_NOT_READY;\r
+ Instance->Flags |= RESTEX_INSTANCE_FLAGS_TLS_RETRY;\r
+ Status = ResetHttpTslSession (Instance);\r
+ if (EFI_ERROR (Status)) {\r
+ DEBUG ((DEBUG_ERROR, "%a: Reset HTTP instance fail.\n", __FUNCTION__));\r
+ ReturnStatus = EFI_DEVICE_ERROR;\r
}\r
+\r
+ return EFI_NOT_READY;\r
}\r
\r
//\r