https://git.reactos.org/?p=reactos.git;a=commitdiff;h=fe1b98fc36d970859f691e...
commit fe1b98fc36d970859f691efd98e81203e595c49d Author: Victor Perevertkin victor.perevertkin@reactos.org AuthorDate: Sat Dec 5 20:19:34 2020 +0300 Commit: Victor Perevertkin victor.perevertkin@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);