Author: cgutman
Date: Sun Sep 28 14:58:09 2008
New Revision: 36580
URL:
http://svn.reactos.org/svn/reactos?rev=36580&view=rev
Log:
- Raise IRQL to DISPATCH_LEVEL before using
KeAcquireSpinLockAtDpcLevel/KeReleaseSpinLockFromDpcLevel
Modified:
branches/aicom-network-fixes/drivers/network/ndis/ndis/protocol.c
Modified: branches/aicom-network-fixes/drivers/network/ndis/ndis/protocol.c
URL:
http://svn.reactos.org/svn/reactos/branches/aicom-network-fixes/drivers/net…
==============================================================================
--- branches/aicom-network-fixes/drivers/network/ndis/ndis/protocol.c [iso-8859-1]
(original)
+++ branches/aicom-network-fixes/drivers/network/ndis/ndis/protocol.c [iso-8859-1] Sun Sep
28 14:58:09 2008
@@ -67,6 +67,7 @@
{
UINT BufferedLength;
UINT PacketLength;
+ KIRQL OldIrql;
NDIS_DbgPrint(MAX_TRACE, ("Called.\n"));
@@ -75,6 +76,8 @@
#endif
NdisQueryPacket(Packet, NULL, NULL, NULL, &PacketLength);
+
+ KeRaiseIrql(DISPATCH_LEVEL, &OldIrql);
NDIS_DbgPrint(MAX_TRACE, ("acquiring miniport block lock\n"));
KeAcquireSpinLockAtDpcLevel(&Adapter->NdisMiniportBlock.Lock);
@@ -102,6 +105,8 @@
Adapter->NdisMiniportBlock.IndicatedPacket[KeGetCurrentProcessorNumber()] =
NULL;
}
KeReleaseSpinLockFromDpcLevel(&Adapter->NdisMiniportBlock.Lock);
+
+ KeLowerIrql(OldIrql);
return STATUS_SUCCESS;
}