0x20,
Adapter->IOBase);
+ if (Adapter->ShutdownHandlerRegistered)
+ NdisMDeregisterAdapterShutdownHandler(Adapter->MiniportAdapterHandle);
+
/* Remove adapter from global adapter list */
if ((&Adapter->ListEntry)->Blink != NULL) {
RemoveEntryList(&Adapter->ListEntry);
- }
+ }
/* Free adapter context area */
NdisFreeMemory(Adapter, sizeof(NIC_ADAPTER), 0);
}
}
+VOID
+STDCALL
+MiniportShutdown(PVOID Context)
+{
+ #ifndef NOCARD
+ NICStop((PNIC_ADAPTER)Context);
+ #endif
+}
static NDIS_STATUS STDCALL MiniportInitialize(
OUT PNDIS_STATUS OpenErrorStatus,
/* Start the NIC */
NICStart(Adapter);
#endif
+
+ /* Register the shutdown handler */
+ NdisMRegisterAdapterShutdownHandler(MiniportAdapterHandle, Adapter, MiniportShutdown);
+
+ Adapter->ShutdownHandlerRegistered = TRUE;
+
/* Add adapter to the global adapter list */
InsertTailList(&DriverInfo.AdapterListHead, &Adapter->ListEntry);