Example #1
0
VOID
Sta11StopStation(
    __in  PSTATION        pStation,
    __in  NDIS_HALT_ACTION    HaltAction
    )
{
    UNREFERENCED_PARAMETER(HaltAction);
    
    // Periodic scan
    StaStopPeriodicScan(pStation);

    //
    // Cleanup all the connection state
    //
    StaResetConnection(pStation, FALSE);

    // Cleanup the BSS list
    Sta11FlushBSSList(pStation);

    MPVERIFY(IsListEmpty(&(pStation->BSSList.List)));
    
    // Cleanup station configuration
    StaInitializeStationConfig(pStation);

    // Cleanup the AdHoc station list
    StaResetAdHocStaInfo(pStation, TRUE);
}
Example #2
0
VOID
Sta11ResetStep1(
    __in  PSTATION        pStation,
    __in  MP_RESET_TYPE   ResetType
    )
{
    UNREFERENCED_PARAMETER(ResetType);

    MP_SET_FLAG(pStation, STA_RESET_IN_PROGRESS);
    
    //
    // Pause the beaconing 
    //
    Hw11StopAdHoc(pStation->pNic);

    // Stop periodic scan (must call before stopping the
    // connection, since a periodic scan can start
    // off the association process)
    StaStopPeriodicScan(pStation);

    // Cleanup connection context
    StaResetConnection(pStation, TRUE);

    // Reset the state we had maintained about for roaming
    StaResetRoamState(pStation);
    
    // Reset the AdHoc station Info but do not clear AdHoc station list.
    StaResetAdHocStaInfo(pStation, FALSE);

    // Reset configuration (including resetting cipher and key on hardware)
    StaResetStationConfig(pStation);
    
    // We dont clear the BSS list on a reset 

    // Clears PMKID cache
    pStation->PMKIDCache.CheckingTime = 0;
    pStation->PMKIDCache.Count = 0;

    pStation->Statistics.ullMcastWEPExcludedCount = 0;
    pStation->Statistics.ullUcastWEPExcludedCount = 0;
}
Example #3
0
VOID
Sta11TerminatePort(
    _In_  PMP_PORT                Port
    )
{
    PMP_EXTSTA_PORT             extStaPort = MP_GET_STA_PORT(Port);

    //
    // We should have been paused and have already
    // stopped periodic scanning. Ensure that that is the case
    //
    MPASSERT(STA_TEST_SCAN_FLAG(extStaPort, STA_STOP_PERIODIC_SCAN));

    //
    // Cleanup all the connection state
    //
    StaResetConnection(extStaPort, FALSE);

    // Cleanup station configuration
    StaInitializeStationConfig(extStaPort);

    // Cleanup the AdHoc station list
    StaResetAdHocStaInfo(extStaPort, TRUE);
}