From 689c9d975d273eeae6fdcebe042577ccf1e5e6f7 Mon Sep 17 00:00:00 2001 From: Hao Wu Date: Thu, 21 Jul 2016 11:15:19 +0800 Subject: [PATCH 1/1] NetworkPkg IScsiDxe: Fix build error for lastest VS2015 compiler The IScsiDxe module encounters a build error for IA32 arch using the latest version of VS2015: IScsiDxe.lib(IScsiProto.obj) : error LNK2001: unresolved external symbol __allmul The cause is line 141 in file NetworkPkg\IScsiDxe\IScsiProto.c. The third parameter for gBS->SetTimer() function is of type UINT64, so the multiplication should use the MultU64x32() function now. Cc: Siyuan Fu Cc: Jiaxin Wu Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu Reviewed-by: Liming Gao --- NetworkPkg/IScsiDxe/IScsiProto.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/NetworkPkg/IScsiDxe/IScsiProto.c b/NetworkPkg/IScsiDxe/IScsiProto.c index c82290e55e..5092365464 100644 --- a/NetworkPkg/IScsiDxe/IScsiProto.c +++ b/NetworkPkg/IScsiDxe/IScsiProto.c @@ -138,7 +138,11 @@ IScsiConnLogin ( // // Start the timer, and wait Timeout seconds to establish the TCP connection. // - Status = gBS->SetTimer (Conn->TimeoutEvent, TimerRelative, Timeout * TICKS_PER_MS); + Status = gBS->SetTimer ( + Conn->TimeoutEvent, + TimerRelative, + MultU64x32 (Timeout, TICKS_PER_MS) + ); if (EFI_ERROR (Status)) { return Status; } -- 2.39.2