Author: cgutman
Date: Mon Sep 22 23:29:30 2008
New Revision: 36406
URL:
http://svn.reactos.org/svn/reactos?rev=36406&view=rev
Log:
- Add some IRQL checks
- Fix some comments
Modified:
branches/aicom-network-fixes/drivers/network/dd/pcnet/pcnet.c
branches/aicom-network-fixes/drivers/network/dd/pcnet/pcnet.h
branches/aicom-network-fixes/drivers/network/dd/pcnet/requests.c
Modified: branches/aicom-network-fixes/drivers/network/dd/pcnet/pcnet.c
URL:
http://svn.reactos.org/svn/reactos/branches/aicom-network-fixes/drivers/net…
==============================================================================
--- branches/aicom-network-fixes/drivers/network/dd/pcnet/pcnet.c [iso-8859-1] (original)
+++ branches/aicom-network-fixes/drivers/network/dd/pcnet/pcnet.c [iso-8859-1] Mon Sep 22
23:29:30 2008
@@ -69,6 +69,8 @@
DPRINT("Called\n");
+ ASSERT_IRQL_EQUAL(DISPATCH_LEVEL);
+
NdisDprAcquireSpinLock(&Adapter->Lock);
NdisRawWritePortUshort(Adapter->PortOffset + RAP, CSR0);
@@ -624,6 +626,8 @@
{
PADAPTER Adapter = (PADAPTER)FunctionContext;
+ ASSERT_IRQL_EQUAL(DISPATCH_LEVEL);
+
if (NdisMSynchronizeWithInterrupt(&Adapter->InterruptObject,
MiSyncMediaDetection,
FunctionContext))
@@ -812,6 +816,8 @@
NDIS_STATUS Status = NDIS_STATUS_FAILURE;
BOOLEAN InterruptRegistered = FALSE;
+ ASSERT_IRQL_EQUAL(PASSIVE_LEVEL);
+
/* Pick a medium */
for(i = 0; i < MediumArraySize; i++)
if(MediumArray[i] == NdisMedium802_3)
@@ -1023,6 +1029,8 @@
{
DPRINT("Called\n");
+ ASSERT_IRQL_EQUAL(PASSIVE_LEVEL);
+
/* MiniportReset doesn't do anything at the moment... perhaps this should be fixed.
*/
*AddressingReset = FALSE;
@@ -1071,6 +1079,8 @@
UINT TotalPacketLength, SourceLength, Position = 0;
DPRINT("Called\n");
+
+ ASSERT_IRQL_EQUAL(DISPATCH_LEVEL);
NdisDprAcquireSpinLock(&Adapter->Lock);
Modified: branches/aicom-network-fixes/drivers/network/dd/pcnet/pcnet.h
URL:
http://svn.reactos.org/svn/reactos/branches/aicom-network-fixes/drivers/net…
==============================================================================
--- branches/aicom-network-fixes/drivers/network/dd/pcnet/pcnet.h [iso-8859-1] (original)
+++ branches/aicom-network-fixes/drivers/network/dd/pcnet/pcnet.h [iso-8859-1] Mon Sep 22
23:29:30 2008
@@ -141,8 +141,10 @@
#if DBG
#define BREAKPOINT DbgBreakPoint();
+#define ASSERT_IRQL_EQUAL(x) ASSERT(KeGetCurrentIrql() == x)
#else
#define BREAKPOINT
+#define ASSERT_IRQL_EQUAL(x)
#endif
/* memory pool tag */
Modified: branches/aicom-network-fixes/drivers/network/dd/pcnet/requests.c
URL:
http://svn.reactos.org/svn/reactos/branches/aicom-network-fixes/drivers/net…
==============================================================================
--- branches/aicom-network-fixes/drivers/network/dd/pcnet/requests.c [iso-8859-1]
(original)
+++ branches/aicom-network-fixes/drivers/network/dd/pcnet/requests.c [iso-8859-1] Mon Sep
22 23:29:30 2008
@@ -103,7 +103,7 @@
* RETURNS:
* NDIS_STATUS_SUCCESS on all queries
* NOTES:
- * - Called by NDIS at PASSIVE_LEVEL
+ * - Called by NDIS at DISPATCH_LEVEL
* - If InformationBufferLength is insufficient to store the results, return the
amount
* needed in BytesNeeded and return NDIS_STATUS_INVALID_LENGTH
* TODO:
@@ -117,6 +117,8 @@
PADAPTER Adapter = (PADAPTER)MiniportAdapterContext;
DPRINT("Called. OID 0x%x\n", Oid);
+
+ ASSERT_IRQL_EQUAL(DISPATCH_LEVEL);
ASSERT(Adapter);
@@ -390,7 +392,7 @@
* RETURNS:
* NDIS_STATUS_SUCCESS on all requests
* NOTES:
- * - Called by NDIS at PASSIVE_LEVEL
+ * - Called by NDIS at DISPATCH_LEVEL
* - verify buffer space as mentioned in previous function notes
*/
{
@@ -399,6 +401,8 @@
PADAPTER Adapter = (PADAPTER)MiniportAdapterContext;
ASSERT(Adapter);
+
+ ASSERT_IRQL_EQUAL(DISPATCH_LEVEL);
DPRINT("Called, OID 0x%x\n", Oid);