mirror of
https://github.com/reactos/reactos.git
synced 2024-10-06 09:24:11 +00:00
- Set MiniportBusy to TRUE if a request is pending
- Hold spin lock when setting MiniportBusy (forgot one from last time) svn path=/branches/aicom-network-fixes/; revision=36558
This commit is contained in:
parent
63ed3d8b4f
commit
1d8b2f1556
|
@ -817,6 +817,12 @@ MiniDoRequest(
|
|||
Status = NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
if (Status == NDIS_STATUS_PENDING) {
|
||||
KeAcquireSpinLockAtDpcLevel(&Adapter->NdisMiniportBlock.Lock);
|
||||
Adapter->MiniportBusy = TRUE;
|
||||
KeReleaseSpinLockFromDpcLevel(&Adapter->NdisMiniportBlock.Lock);
|
||||
}
|
||||
|
||||
KeLowerIrql(OldIrql);
|
||||
return Status;
|
||||
}
|
||||
|
@ -999,8 +1005,11 @@ VOID NTAPI MiniportWorker(IN PVOID WorkItem)
|
|||
}
|
||||
}
|
||||
|
||||
if( NdisStatus != NDIS_STATUS_PENDING )
|
||||
Adapter->MiniportBusy = FALSE;
|
||||
if( NdisStatus != NDIS_STATUS_PENDING ) {
|
||||
KeAcquireSpinLock(&Adapter->NdisMiniportBlock.Lock, &OldIrql);
|
||||
Adapter->MiniportBusy = FALSE;
|
||||
KeReleaseSpinLock(&Adapter->NdisMiniportBlock.Lock, OldIrql);
|
||||
}
|
||||
|
||||
ExFreePool(WorkItem);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue