Status = EFI_SUCCESS;\r
Tcb = NULL;\r
TimeoutEvent = NULL;\r
+ Timeout = 0;\r
\r
if (Session->State != SESSION_STATE_LOGGED_IN) {\r
return EFI_DEVICE_ERROR;\r
\r
if (Packet->Timeout != 0) {\r
Timeout = MultU64x32 (Packet->Timeout, 2);\r
- //\r
- // Start the timeout timer.\r
- //\r
- Status = gBS->SetTimer (Conn->TimeoutEvent, TimerRelative, Timeout);\r
- if (EFI_ERROR (Status)) {\r
- goto ON_EXIT;\r
- }\r
-\r
- TimeoutEvent = Conn->TimeoutEvent;\r
}\r
\r
Status = IScsiNewTcb (Conn, &Tcb);\r
InBufferContext.InDataLen = Packet->InTransferLength;\r
\r
while (!Tcb->StatusXferd) {\r
+ //\r
+ // Start the timeout timer.\r
+ //\r
+ if (Timeout) {\r
+ Status = gBS->SetTimer (Conn->TimeoutEvent, TimerRelative, Timeout);\r
+ if (EFI_ERROR (Status)) {\r
+ goto ON_EXIT;\r
+ }\r
+ TimeoutEvent = Conn->TimeoutEvent; \r
+ }\r
//\r
// try to receive PDU from target.\r
//\r