From aed65911433b69ecaa9ca1a6bf5c12e37d7e4fc7 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Fri, 3 Oct 2008 18:16:43 +0000 Subject: [PATCH] - Implement NdisMIndicateStatusComplete svn path=/branches/aicom-network-fixes/; revision=36632 --- drivers/network/ndis/ndis/miniport.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/drivers/network/ndis/ndis/miniport.c b/drivers/network/ndis/ndis/miniport.c index 71fed2a3d37..54914bed3cb 100644 --- a/drivers/network/ndis/ndis/miniport.c +++ b/drivers/network/ndis/ndis/miniport.c @@ -1163,7 +1163,7 @@ NdisMIndicateStatus( } /* - * @unimplemented + * @implemented */ #undef NdisMIndicateStatusComplete VOID @@ -1171,7 +1171,26 @@ EXPORT NdisMIndicateStatusComplete( IN NDIS_HANDLE MiniportAdapterHandle) { - UNIMPLEMENTED + PLOGICAL_ADAPTER Adapter = MiniportAdapterHandle; + PLIST_ENTRY CurrentEntry; + PADAPTER_BINDING AdapterBinding; + KIRQL OldIrql; + + KeAcquireSpinLock(&Adapter->NdisMiniportBlock.Lock, &OldIrql); + + CurrentEntry = Adapter->ProtocolListHead.Flink; + + while (CurrentEntry != &Adapter->ProtocolListHead) + { + AdapterBinding = CONTAINING_RECORD(CurrentEntry, ADAPTER_BINDING, AdapterListEntry); + + (*AdapterBinding->ProtocolBinding->Chars.StatusCompleteHandler)( + AdapterBinding->NdisOpenBlock.ProtocolBindingContext); + + CurrentEntry = CurrentEntry->Flink; + } + + KeReleaseSpinLock(&Adapter->NdisMiniportBlock.Lock, OldIrql); }