https://git.reactos.org/?p=reactos.git;a=commitdiff;h=fe1b98fc36d970859f691…
commit fe1b98fc36d970859f691efd98e81203e595c49d
Author: Victor Perevertkin <victor.perevertkin(a)reactos.org>
AuthorDate: Sat Dec 5 20:19:34 2020 +0300
Commit: Victor Perevertkin <victor.perevertkin(a)reactos.org>
CommitDate: Sat Dec 5 22:15:10 2020 +0300
[CLASSPNP] Fix amd64 build
CORE-17129
---
drivers/storage/class/classpnp/xferpkt.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/storage/class/classpnp/xferpkt.c
b/drivers/storage/class/classpnp/xferpkt.c
index 69cf602736f..d704b3ab0f3 100644
--- a/drivers/storage/class/classpnp/xferpkt.c
+++ b/drivers/storage/class/classpnp/xferpkt.c
@@ -582,7 +582,7 @@ VOID EnqueueFreeTransferPacket(PDEVICE_OBJECT Fdo, __drv_aliasesMem
PTRANSFER_PA
// Queue a work item to trim down the total number of transfer packets to
with the
// working size.
//
- IoQueueWorkItemEx(workItem, CleanupTransferPacketToWorkingSetSizeWorker,
DelayedWorkQueue, (PVOID) allocateNode);
+ IoQueueWorkItemEx(workItem, CleanupTransferPacketToWorkingSetSizeWorker,
DelayedWorkQueue, (PVOID)(ULONG_PTR)allocateNode);
} else {
@@ -960,9 +960,14 @@ TransferPktComplete(IN PDEVICE_OBJECT NullFdo, IN PIRP Irp, IN PVOID
Context)
//
#ifdef _WIN64
+#ifndef __REACTOS__
lastIoCompletionTime = ReadULong64NoFence((volatile
ULONG64*)&fdoData->LastIoCompletionTime.QuadPart);
WriteULong64NoFence((volatile
ULONG64*)&fdoData->LastIoCompletionTime.QuadPart,
completionTime.QuadPart);
+#else
+ lastIoCompletionTime = *(volatile
ULONG64*)&fdoData->LastIoCompletionTime.QuadPart;
+ *((volatile ULONG64*)&fdoData->LastIoCompletionTime.QuadPart) =
completionTime.QuadPart;
+#endif
#else
lastIoCompletionTime = InterlockedExchangeNoFence64((volatile
LONG64*)&fdoData->LastIoCompletionTime.QuadPart,
completionTime.QuadPart);