From cba47cf99eecb40e68eada38d6588ff727add4fc Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Fri, 12 Sep 2008 17:59:45 +0000 Subject: [PATCH] - Call MiniportTransferData at DISPATCH_LEVEL svn path=/branches/aicom-network-fixes/; revision=36169 --- drivers/network/ndis/ndis/protocol.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/network/ndis/ndis/protocol.c b/drivers/network/ndis/ndis/protocol.c index beb00620ce4..818c5d2a8e8 100644 --- a/drivers/network/ndis/ndis/protocol.c +++ b/drivers/network/ndis/ndis/protocol.c @@ -419,6 +419,8 @@ ProTransferData( { PADAPTER_BINDING AdapterBinding = GET_ADAPTER_BINDING(MacBindingHandle); PLOGICAL_ADAPTER Adapter = AdapterBinding->Adapter; + NDIS_STATUS Status; + KIRQL OldIrql; NDIS_DbgPrint(MAX_TRACE, ("Called.\n")); @@ -437,13 +439,19 @@ ProTransferData( return NDIS_STATUS_SUCCESS; } - return (*Adapter->NdisMiniportBlock.DriverHandle->MiniportCharacteristics.TransferDataHandler)( + KeRaiseIrql(DISPATCH_LEVEL, &OldIrql); + + Status = (*Adapter->NdisMiniportBlock.DriverHandle->MiniportCharacteristics.TransferDataHandler)( Packet, BytesTransferred, Adapter->NdisMiniportBlock.MiniportAdapterContext, MacReceiveContext, ByteOffset, BytesToTransfer); + + KeLowerIrql(OldIrql); + + return Status; }