/** * __schBeaconProcessNoSession * * FUNCTION: * Process the received beacon frame when * -- Station is not scanning * -- No corresponding session is found * * LOGIC: * Following scenarios exist when Session Does not exist: * * IBSS Beacons, when IBSS session already exists with same SSID, * but from STA which has not yet joined and has a different BSSID. * - invoke limHandleIBSScoalescing with the session context of existing IBSS session. * * * IBSS Beacons when IBSS session does not exist, only Infra or BT-AMP session exists, * then save the beacon in the scan results and throw it away. * * * Infra Beacons * - beacons received when no session active * should not come here, it should be handled as part of scanning, * else they should not be getting received, should update scan results and drop it if that happens. * - beacons received when IBSS session active: * update scan results and drop it. * - beacons received when Infra session(STA) is active: * update scan results and drop it * - beacons received when BT-STA session is active: * update scan results and drop it. * - beacons received when Infra/BT-STA or Infra/IBSS is active. * update scan results and drop it. * */ static void __schBeaconProcessNoSession(tpAniSirGlobal pMac, tpSchBeaconStruct pBeacon,tANI_U8* pRxPacketInfo) { tpPESession psessionEntry = NULL; if( (psessionEntry = limIsIBSSSessionActive(pMac)) != NULL) { limHandleIBSScoalescing(pMac, pBeacon, pRxPacketInfo, psessionEntry); } //If station(STA/BT-STA/BT-AP/IBSS) mode, Always save the beacon in the scan results, if atleast one session is active //schBeaconProcessNoSession will be called only when there is atleast one session active, so not checking //it again here. limCheckAndAddBssDescription(pMac, pBeacon, pRxPacketInfo, eANI_BOOLEAN_FALSE, eANI_BOOLEAN_FALSE); return; }
static void __schBeaconProcessNoSession(tpAniSirGlobal pMac, tpSchBeaconStruct pBeacon,tANI_U8* pRxPacketInfo) { tpPESession psessionEntry = NULL; if( (psessionEntry = limIsIBSSSessionActive(pMac)) != NULL) { limHandleIBSScoalescing(pMac, pBeacon, pRxPacketInfo, psessionEntry); } limCheckAndAddBssDescription(pMac, pBeacon, pRxPacketInfo, eANI_BOOLEAN_FALSE, eANI_BOOLEAN_FALSE); return; }