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);
