- Call the CheckForHang handler at DISPATCH_LEVEL

- Implement MiniReset

svn path=/branches/aicom-network-fixes/; revision=36433
This commit is contained in:
Cameron Gutman 2008-09-23 18:44:17 +00:00
parent faa10907ca
commit 8f1a94b39b

View file

@ -595,14 +595,45 @@ MiniCheckForHang( PLOGICAL_ADAPTER Adapter )
*/
{
BOOLEAN Ret = FALSE;
KIRQL OldIrql;
KeRaiseIrql(DISPATCH_LEVEL, &OldIrql);
if (Adapter->NdisMiniportBlock.DriverHandle->MiniportCharacteristics.CheckForHangHandler)
Ret = (*Adapter->NdisMiniportBlock.DriverHandle->MiniportCharacteristics.CheckForHangHandler)(
Adapter->NdisMiniportBlock.MiniportAdapterContext);
KeLowerIrql(OldIrql);
return Ret;
}
NDIS_STATUS
MiniReset(
PLOGICAL_ADAPTER Adapter,
PBOOLEAN AddressingReset)
/*
* FUNCTION: Resets the miniport
* ARGUMENTS:
* Adapter = Pointer to the logical adapter object
* AddressingReset = Set to TRUE if we need to call MiniportSetInformation later
* RETURNS:
* Status of the operation
*/
{
NDIS_STATUS Status = NDIS_STATUS_FAILURE;
KIRQL OldIrql;
/* FIXME: What should we return if there isn't a reset handler? */
KeRaiseIrql(DISPATCH_LEVEL, &OldIrql);
if (Adapter->NdisMiniportBlock.DriverHandle->MiniportCharacteristics.ResetHandler)
Status = (*Adapter->NdisMiniportBlock.DriverHandle->MiniportCharacteristics.ResetHandler)(
Adapter->NdisMiniportBlock.MiniportAdapterContext,
AddressingReset);
KeLowerIrql(OldIrql);
return Status;
}
NDIS_STATUS
FASTCALL