diff --git a/reactos/drivers/network/ndis/ndis/main.c b/reactos/drivers/network/ndis/ndis/main.c index a226c69ffe2..04eb8c00f67 100644 --- a/reactos/drivers/network/ndis/ndis/main.c +++ b/reactos/drivers/network/ndis/ndis/main.c @@ -21,6 +21,8 @@ ULONG DebugTraceLevel = MIN_TRACE; #endif /* DBG */ +UCHAR CancelId; + VOID NTAPI MainUnload( PDRIVER_OBJECT DriverObject) @@ -61,6 +63,8 @@ DriverEntry( DriverObject->DriverUnload = MainUnload; + CancelId = 0; + return STATUS_SUCCESS; } diff --git a/reactos/drivers/network/ndis/ndis/misc.c b/reactos/drivers/network/ndis/ndis/misc.c index c23707b94ad..be4cfdabd4a 100644 --- a/reactos/drivers/network/ndis/ndis/misc.c +++ b/reactos/drivers/network/ndis/ndis/misc.c @@ -6,6 +6,8 @@ #include "ndissys.h" +extern UCHAR CancelId; + /* * @implemented */ @@ -518,13 +520,13 @@ UCHAR EXPORT NdisGeneratePartialCancelId(VOID) { - static UCHAR CancelId = 0; + UCHAR PartialCancelId; - CancelId++; + PartialCancelId = InterlockedIncrement((PLONG)&CancelId); - NDIS_DbgPrint(MAX_TRACE, ("Cancel ID %u\n", CancelId)); + NDIS_DbgPrint(MAX_TRACE, ("Cancel ID %u\n", PartialCancelId)); - return CancelId; + return PartialCancelId; } /* EOF */