From 8b9d9a57c79b9048f87595830fd4e6b1b9bb9785 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Tue, 9 Sep 2008 00:58:44 +0000 Subject: [PATCH] - Release the spin lock before returning svn path=/branches/aicom-network-fixes/; revision=36075 --- drivers/network/lan/lan/lan.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/network/lan/lan/lan.c b/drivers/network/lan/lan/lan.c index 76571275398..0b46e9cfbb1 100644 --- a/drivers/network/lan/lan/lan.c +++ b/drivers/network/lan/lan/lan.c @@ -349,7 +349,10 @@ NDIS_STATUS STDCALL ProtocolReceive( /* Get a transfer data packet */ KeAcquireSpinLockAtDpcLevel(&Adapter->Lock); NdisStatus = AllocatePacketWithBuffer( &NdisPacket, NULL, Adapter->MTU ); - if( NdisStatus != NDIS_STATUS_SUCCESS ) return NDIS_STATUS_NOT_ACCEPTED; + if( NdisStatus != NDIS_STATUS_SUCCESS ) { + KeReleaseSpinLockFromDpcLevel(&Adapter->Lock); + return NDIS_STATUS_NOT_ACCEPTED; + } LA_DbgPrint(DEBUG_DATALINK, ("pretransfer LookaheadBufferSize %d packsize %d\n",LookaheadBufferSize,PacketSize)); { UINT temp;