https://git.reactos.org/?p=reactos.git;a=commitdiff;h=fe1b98fc36d970859f691efd98e81203e595c49d

commit fe1b98fc36d970859f691efd98e81203e595c49d
Author:     Victor Perevertkin <[email protected]>
AuthorDate: Sat Dec 5 20:19:34 2020 +0300
Commit:     Victor Perevertkin <[email protected]>
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);

Reply via email to