Author: cgutman Date: Sat Apr 11 00:04:08 2009 New Revision: 40447
URL: http://svn.reactos.org/svn/reactos?rev=40447&view=rev Log: - MiniSendComplete acquires the adapter lock so release the lock before calling it
Modified: trunk/reactos/drivers/network/ndis/ndis/protocol.c
Modified: trunk/reactos/drivers/network/ndis/ndis/protocol.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/p... ============================================================================== --- trunk/reactos/drivers/network/ndis/ndis/protocol.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/ndis/ndis/protocol.c [iso-8859-1] Sat Apr 11 00:04:08 2009 @@ -349,15 +349,15 @@ else { /* Send is called at DISPATCH_LEVEL for all serialized miniports */ - KeAcquireSpinLock(&Adapter->NdisMiniportBlock.Lock, &RaiseOldIrql); for (i = 0; i < NumberOfPackets; i++) { + KeAcquireSpinLock(&Adapter->NdisMiniportBlock.Lock, &RaiseOldIrql); NdisStatus = (*Adapter->NdisMiniportBlock.DriverHandle->MiniportCharacteristics.SendHandler)( Adapter->NdisMiniportBlock.MiniportAdapterContext, PacketArray[i], PacketArray[i]->Private.Flags); + KeReleaseSpinLock(&Adapter->NdisMiniportBlock.Lock, RaiseOldIrql); if (NdisStatus != NDIS_STATUS_PENDING) MiniSendComplete(Adapter, PacketArray[i], NdisStatus); } - KeReleaseSpinLock(&Adapter->NdisMiniportBlock.Lock, RaiseOldIrql); } } }