]> git.proxmox.com Git - mirror_edk2.git/commitdiff
NetworkPkg IScsiDxe: Fix build error for lastest VS2015 compiler
authorHao Wu <hao.a.wu@intel.com>
Thu, 21 Jul 2016 03:15:19 +0000 (11:15 +0800)
committerHao Wu <hao.a.wu@intel.com>
Tue, 26 Jul 2016 05:43:45 +0000 (13:43 +0800)
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 <siyuan.fu@intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
NetworkPkg/IScsiDxe/IScsiProto.c

index c82290e55ef250d22121321cd3264defc8d5fa7c..50923654644194d77b2bc8cc77ea39d660dbc457 100644 (file)
@@ -138,7 +138,11 @@ IScsiConnLogin (
   //\r
   // Start the timer, and wait Timeout seconds to establish the TCP connection.\r
   //\r
-  Status = gBS->SetTimer (Conn->TimeoutEvent, TimerRelative, Timeout * TICKS_PER_MS);\r
+  Status = gBS->SetTimer (\r
+                  Conn->TimeoutEvent,\r
+                  TimerRelative,\r
+                  MultU64x32 (Timeout, TICKS_PER_MS)\r
+                  );\r
   if (EFI_ERROR (Status)) {\r
     return Status;\r
   }\r