diff options
| author | Madan Mohan Koyyalamudi <mkoyyala@qca.qualcomm.com> | 2013-10-29 17:38:25 -0700 |
|---|---|---|
| committer | Madan Mohan Koyyalamudi <mkoyyala@qca.qualcomm.com> | 2013-10-29 17:38:25 -0700 |
| commit | 55bb80fbb6febaf79f3b413cc037abe45b4fe3d3 (patch) | |
| tree | afc5ee706691cf71d69eba18e812f555046e8608 /CORE/MAC | |
| parent | dfd5eb5ff4238b64a812533c0c6db51f1b431817 (diff) | |
cld: umac: Roaming feature umac common code changes
LIM/PE
Don't flush scan cache when starting a new scan.
Return results from scan cache and LFR cache when a roaming
scan finishes.
Added flags to indicate reassoc request for WDA_ADD_BSS_REQ
Change-Id: I2fb6ebff82e0dcec929ae7a3653eddb4aa71c528
CRs-fixed: 562120
Diffstat (limited to 'CORE/MAC')
| -rw-r--r-- | CORE/MAC/inc/sirApi.h | 457 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limFT.c | 220 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limLogDump.c | 286 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limRoamingAlgo.c | 52 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limSendSmeRspMessages.c | 384 |
5 files changed, 745 insertions, 654 deletions
diff --git a/CORE/MAC/inc/sirApi.h b/CORE/MAC/inc/sirApi.h index 4d0dff6abe89..0bb1f64d65de 100644 --- a/CORE/MAC/inc/sirApi.h +++ b/CORE/MAC/inc/sirApi.h @@ -129,14 +129,14 @@ enum eSirHostMsgTypes SIR_HAL_SHUTDOWN_REQ, SIR_HAL_SHUTDOWN_CNF, SIR_HAL_RESET_REQ, - SIR_HAL_RADIO_ON_OFF_IND, + SIR_HAL_RADIO_ON_OFF_IND, SIR_HAL_RESET_CNF, SIR_WRITE_TO_TD, SIR_HAL_HDD_ADDBA_REQ, // MAC -> HDD - SIR_HAL_HDD_ADDBA_RSP, // HDD -> HAL + SIR_HAL_HDD_ADDBA_RSP, // HDD -> HAL SIR_HAL_DELETEBA_IND, // MAC -> HDD SIR_HAL_BA_FAIL_IND, // HDD -> MAC - SIR_TL_HAL_FLUSH_AC_REQ, + SIR_TL_HAL_FLUSH_AC_REQ, SIR_HAL_TL_FLUSH_AC_RSP }; @@ -321,11 +321,11 @@ typedef enum eSirResultCodes #ifdef WLAN_FEATURE_PACKET_FILTERING eSIR_SME_PC_FILTER_MATCH_COUNT_REQ_FAILED, #endif // WLAN_FEATURE_PACKET_FILTERING - + #ifdef WLAN_FEATURE_GTK_OFFLOAD eSIR_SME_GTK_OFFLOAD_GETINFO_REQ_FAILED, #endif // WLAN_FEATURE_GTK_OFFLOAD - eSIR_DONOT_USE_RESULT_CODE = SIR_MAX_ENUM_SIZE + eSIR_DONOT_USE_RESULT_CODE = SIR_MAX_ENUM_SIZE } tSirResultCodes; /* each station added has a rate mode which specifies the sta attributes */ @@ -479,10 +479,10 @@ typedef struct sSirSmeRsp typedef struct sSirSmeStartReq { tANI_U16 messageType; // eWNI_SME_START_REQ - tANI_U16 length; + tANI_U16 length; tANI_U8 sessionId; //Added for BT-AMP Support tANI_U16 transcationId; //Added for BT-AMP Support - tSirMacAddr bssId; //Added For BT-AMP Support + tSirMacAddr bssId; //Added For BT-AMP Support tANI_U32 roamingAtPolaris; tANI_U32 sendNewBssInd; } tSirSmeStartReq, *tpSirSmeStartReq; @@ -492,7 +492,7 @@ typedef struct sSirSmeReadyReq { tANI_U16 messageType; // eWNI_SME_SYS_READY_IND tANI_U16 length; - tANI_U16 transactionId; + tANI_U16 transactionId; } tSirSmeReadyReq, *tpSirSmeReadyReq; /// Definition for response message to previously issued start request @@ -501,7 +501,7 @@ typedef struct sSirSmeStartRsp tANI_U16 messageType; // eWNI_SME_START_RSP tANI_U16 length; tSirResultCodes statusCode; - tANI_U16 transactionId; + tANI_U16 transactionId; } tSirSmeStartRsp, *tpSirSmeStartRsp; @@ -622,7 +622,7 @@ typedef struct sSirSmeStartBssReq tSirMacSSid ssId; tANI_U8 channelId; ePhyChanBondState cbMode; - + tANI_U8 privacy; tANI_U8 apUapsdEnable; tANI_U8 ssidHidden; @@ -681,7 +681,7 @@ typedef struct sSirBssDescription #endif #ifdef FEATURE_WLAN_CCX tANI_U16 QBSSLoad_present; - tANI_U16 QBSSLoad_avail; + tANI_U16 QBSSLoad_avail; #endif // Please keep the structure 4 bytes aligned above the ieFields @@ -692,7 +692,7 @@ typedef struct sSirBssDescription tANI_U32 WscIeLen; tANI_U8 WscIeProbeRsp[WSCIE_PROBE_RSP_LEN]; tANI_U8 reservedPadding4; - + tANI_U32 ieFields[1]; } tSirBssDescription, *tpSirBssDescription; @@ -708,7 +708,7 @@ typedef struct sSirSmeStartBssRsp tSirResultCodes statusCode; tSirBssType bssType;//Add new type for WDS mode tANI_U16 beaconInterval;//Beacon Interval for both type - tANI_U32 staId;//Staion ID for Self + tANI_U32 staId;//Staion ID for Self tSirBssDescription bssDescription;//Peer BSS description } tSirSmeStartBssRsp, *tpSirSmeStartBssRsp; @@ -762,7 +762,7 @@ typedef enum eSirLinkTrafficCheck #define SIR_BG_SCAN_RETURN_CACHED_RESULTS 0x0 #define SIR_BG_SCAN_PURGE_RESUTLS 0x80 #define SIR_BG_SCAN_RETURN_FRESH_RESULTS 0x01 -#define SIR_SCAN_MAX_NUM_SSID 0x09 +#define SIR_SCAN_MAX_NUM_SSID 0x09 #define SIR_BG_SCAN_RETURN_LFR_CACHED_RESULTS 0x02 #define SIR_BG_SCAN_PURGE_LFR_RESULTS 0x40 @@ -789,7 +789,7 @@ typedef struct sSirSmeScanReq /** * maxChannelTime. * 0x0 - Invalid. In case of active scan. - * In case of passive scan, MAX( maxChannelTime, WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME) is used. + * In case of passive scan, MAX( maxChannelTime, WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME) is used. * */ tANI_U32 maxChannelTime; @@ -832,7 +832,7 @@ typedef struct sSirSmeScanReq /* backgroundScanMode can take following values: * 0x0 - agressive scan - * 0x1 - normal scan where HAL will check for link traffic + * 0x1 - normal scan where HAL will check for link traffic * prior to proceeding with the scan */ tSirBackgroundScanMode backgroundScanMode; @@ -841,11 +841,11 @@ typedef struct sSirSmeScanReq /* Number of SSIDs to scan */ tANI_U8 numSsid; - + //channelList has to be the last member of this structure. Check tSirChannelList for the reason. /* This MUST be the last field of the structure */ - - + + tANI_BOOLEAN p2pSearch; tANI_U16 uIEFieldLen; tANI_U16 uIEFieldOffset; @@ -855,7 +855,7 @@ typedef struct sSirSmeScanReq /*----------------------------- tSirSmeScanReq.... ----------------------------- - uIEFiledLen + uIEFiledLen ----------------------------- uIEFiledOffset ----+ ----------------------------- | @@ -866,7 +866,7 @@ typedef struct sSirSmeScanReq This can be zero, if | numChannel is zero. | ----------------------------- <--+ - ... variable size uIEFiled + ... variable size uIEFiled up to uIEFieldLen (can be 0) -----------------------------*/ } tSirSmeScanReq, *tpSirSmeScanReq; @@ -916,7 +916,7 @@ typedef struct sSirOemDataRsp tANI_U16 length; tANI_U8 oemDataRsp[OEM_DATA_RSP_SIZE]; } tSirOemDataRsp, *tpSirOemDataRsp; - + #endif //FEATURE_OEM_DATA_SUPPORT /// Definition for response message to previously issued scan request @@ -924,9 +924,9 @@ typedef struct sSirSmeScanRsp { tANI_U16 messageType; // eWNI_SME_SCAN_RSP tANI_U16 length; - tANI_U8 sessionId; + tANI_U8 sessionId; tSirResultCodes statusCode; - tANI_U16 transcationId; + tANI_U16 transcationId; tSirBssDescription bssDescription[1]; } tSirSmeScanRsp, *tpSirSmeScanRsp; @@ -987,9 +987,9 @@ typedef struct sJoinReassocInfo /// Definition for join request /// ---> MAC -/// WARNING! If you add a field in JOIN REQ. -/// Make sure to add it in REASSOC REQ -/// The Serdes function is the same and its +/// WARNING! If you add a field in JOIN REQ. +/// Make sure to add it in REASSOC REQ +/// The Serdes function is the same and its /// shared with REASSOC. So if we add a field // here and dont add it in REASSOC REQ. It will BREAK!!! REASSOC. typedef struct sSirSmeJoinReq @@ -997,11 +997,11 @@ typedef struct sSirSmeJoinReq tANI_U16 messageType; // eWNI_SME_JOIN_REQ tANI_U16 length; tANI_U8 sessionId; - tANI_U16 transactionId; + tANI_U16 transactionId; tSirMacSSid ssId; tSirMacAddr selfMacAddr; // self Mac address tSirBssType bsstype; // add new type for BT -AMP STA and AP Modules - tANI_U8 dot11mode; // to support BT-AMP + tANI_U8 dot11mode; // to support BT-AMP tVOS_CON_MODE staPersona; //Persona ePhyChanBondState cbMode; // Pass CB mode value in Join. @@ -1018,15 +1018,15 @@ typedef struct sSirSmeJoinReq tSirRSNie rsnIE; // RSN IE to be sent in // (Re) Association Request #ifdef FEATURE_WLAN_CCX - tSirCCKMie cckmIE; // CCMK IE to be included as handler for join and reassoc is + tSirCCKMie cckmIE; // CCMK IE to be included as handler for join and reassoc is // the same. The join will never carry cckm, but will be set to - // 0. + // 0. #endif tSirAddie addIEScan; // Additional IE to be sent in // (unicast) Probe Request at the time of join - tSirAddie addIEAssoc; // Additional IE to be sent in + tSirAddie addIEAssoc; // Additional IE to be sent in // (Re) Association Request tAniEdType UCEncryptionType; @@ -1044,7 +1044,7 @@ typedef struct sSirSmeJoinReq tAniBool isCCXconnection; tCCXTspecInfo ccxTspecInfo; #endif - + #if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR) tAniBool isFastTransitionEnabled; #endif @@ -1091,7 +1091,7 @@ typedef struct sSirSmeJoinRsp #endif tANI_U32 staId;//Station ID for peer - /*The DPU signatures will be sent eventually to TL to help it determine the + /*The DPU signatures will be sent eventually to TL to help it determine the association to which a packet belongs to*/ /*Unicast DPU signature*/ tANI_U8 ucastSig; @@ -1106,7 +1106,7 @@ typedef struct sSirSmeJoinRsp typedef struct sSirSmeAuthInd { tANI_U16 messageType; // eWNI_SME_AUTH_IND - tANI_U16 length; + tANI_U16 length; tANI_U8 sessionId; tSirMacAddr bssId; // Self BSSID tSirMacAddr peerMacAddr; @@ -1136,7 +1136,7 @@ typedef struct sSirSmeAssocInd tANI_U16 staId; // Station ID for peer tANI_U8 uniSig; // DPU signature for unicast packets tANI_U8 bcastSig; // DPU signature for broadcast packets - tAniAuthType authType; + tAniAuthType authType; tAniSSID ssId; // SSID used by STA to associate tSirRSNie rsnIE;// RSN IE received from peer tSirAddie addIE;// Additional IE received from peer, which possibly include WSC IE and/or P2P IE @@ -1186,7 +1186,7 @@ typedef struct sSirSmeReassocInd tSirRSNie rsnIE; // RSN IE received from peer tSirAddie addIE; // Additional IE received from peer - + // powerCap & supportedChannels are present only when // spectrumMgtIndicator flag is set tAniBool spectrumMgtIndicator; @@ -1352,7 +1352,7 @@ typedef struct sAniSecurityStat typedef struct sAniTxRxCounters { tANI_U32 txFrames; // Incremented for every packet tx - tANI_U32 rxFrames; + tANI_U32 rxFrames; tANI_U32 nRcvBytes; tANI_U32 nXmitBytes; }tAniTxRxCounters, *tpAniTxRxCounters; @@ -1380,7 +1380,7 @@ typedef struct sAniSecStats tAni64BitCounters wpiReplays; tAni64BitCounters wpiMicError; #endif -}tAniSecStats, *tpAniSecStats; +}tAniSecStats, *tpAniSecStats; #define SIR_MAX_RX_CHAINS 3 @@ -1439,13 +1439,13 @@ typedef struct sAniStaStatStruct //Multicast frames and bytes. tAniTxRxStats mcStats; - tANI_U32 currentTxRate; + tANI_U32 currentTxRate; tANI_U32 currentRxRate; //Rate in 100Kbps tANI_U32 maxTxRate; tANI_U32 maxRxRate; - tANI_S8 rssi[SIR_MAX_RX_CHAINS]; + tANI_S8 rssi[SIR_MAX_RX_CHAINS]; tAniSecStats securityStats; @@ -1480,7 +1480,7 @@ typedef struct sAniGlobalStatStruct tAniTxRxStats mcStats; tAniTxRxStats bcStats; - + }tAniGlobalStatStruct,*tpAniGlobalStatStruct; typedef enum sPacketType @@ -1565,7 +1565,7 @@ typedef struct sSirSmeDisassocInd tANI_U8 sessionId; // Session Identifier tANI_U16 transactionId; // Transaction Identifier with PE tSirResultCodes statusCode; - tSirMacAddr bssId; + tSirMacAddr bssId; tSirMacAddr peerMacAddr; tAniStaStatStruct perStaStats; // STA stats tANI_U16 staId; @@ -1579,7 +1579,7 @@ typedef struct sSirSmeDisassocCnf tANI_U16 messageType; // eWNI_SME_DISASSOC_CNF tANI_U16 length; tSirResultCodes statusCode; - tSirMacAddr bssId; + tSirMacAddr bssId; tSirMacAddr peerMacAddr; } tSirSmeDisassocCnf, *tpSirSmeDisassocCnf; @@ -2061,8 +2061,8 @@ typedef enum }ePEStatsMask; /* - * tpAniGetPEStatsReq is tied to - * for SME ==> PE eWNI_SME_GET_STATISTICS_REQ msgId and + * tpAniGetPEStatsReq is tied to + * for SME ==> PE eWNI_SME_GET_STATISTICS_REQ msgId and * for PE ==> HAL SIR_HAL_GET_STATISTICS_REQ msgId */ typedef struct sAniGetPEStatsReq @@ -2075,8 +2075,8 @@ typedef struct sAniGetPEStatsReq } tAniGetPEStatsReq, *tpAniGetPEStatsReq; /* - * tpAniGetPEStatsRsp is tied to - * for PE ==> SME eWNI_SME_GET_STATISTICS_RSP msgId and + * tpAniGetPEStatsRsp is tied to + * for PE ==> SME eWNI_SME_GET_STATISTICS_RSP msgId and * for HAL ==> PE SIR_HAL_GET_STATISTICS_RSP msgId */ typedef struct sAniGetPEStatsRsp @@ -2090,10 +2090,10 @@ typedef struct sAniGetPEStatsRsp tANI_U32 statsMask; // categories of stats requested. look at ePEStatsMask /********************************************************************************************** //void *pStatsBuf; - The Stats buffer starts here and can be an aggregate of more than one statistics - structure depending on statsMask.The void pointer "pStatsBuf" is commented out - intentionally and the src code that uses this structure should take that into account. -**********************************************************************************************/ + The Stats buffer starts here and can be an aggregate of more than one statistics + structure depending on statsMask.The void pointer "pStatsBuf" is commented out + intentionally and the src code that uses this structure should take that into account. +**********************************************************************************************/ } tAniGetPEStatsRsp, *tpAniGetPEStatsRsp; typedef struct sAniGetRssiReq @@ -2102,11 +2102,11 @@ typedef struct sAniGetRssiReq tANI_U16 msgType; // message type is same as the request type tANI_U16 msgLen; // length of the entire request tANI_U8 sessionId; - tANI_U8 staId; + tANI_U8 staId; void *rssiCallback; void *pDevContext; //device context void *pVosContext; //voss context - + } tAniGetRssiReq, *tpAniGetRssiReq; #if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR) @@ -2134,35 +2134,35 @@ typedef struct sAniChangeCountryCodeReq void *changeCCCallback; void *pDevContext; //device context void *pVosContext; //voss context - + } tAniChangeCountryCodeReq, *tpAniChangeCountryCodeReq; typedef struct sAniSummaryStatsInfo { tANI_U32 retry_cnt[4]; //Total number of packets(per AC) that were successfully transmitted with retries - tANI_U32 multiple_retry_cnt[4];//The number of MSDU packets and MMPDU frames per AC that the 802.11 + tANI_U32 multiple_retry_cnt[4];//The number of MSDU packets and MMPDU frames per AC that the 802.11 // station successfully transmitted after more than one retransmission attempt - tANI_U32 tx_frm_cnt[4]; //Total number of packets(per AC) that were successfully transmitted - //(with and without retries, including multi-cast, broadcast) + tANI_U32 tx_frm_cnt[4]; //Total number of packets(per AC) that were successfully transmitted + //(with and without retries, including multi-cast, broadcast) //tANI_U32 tx_fail_cnt; //tANI_U32 num_rx_frm_crc_err; //Total number of received frames with CRC Error //tANI_U32 num_rx_frm_crc_ok; //Total number of successfully received frames with out CRC Error - tANI_U32 rx_frm_cnt; //Total number of packets that were successfully received - //(after appropriate filter rules including multi-cast, broadcast) + tANI_U32 rx_frm_cnt; //Total number of packets that were successfully received + //(after appropriate filter rules including multi-cast, broadcast) tANI_U32 frm_dup_cnt; //Total number of duplicate frames received successfully tANI_U32 fail_cnt[4]; //Total number packets(per AC) failed to transmit tANI_U32 rts_fail_cnt; //Total number of RTS/CTS sequence failures for transmission of a packet tANI_U32 ack_fail_cnt; //Total number packets failed transmit because of no ACK from the remote entity - tANI_U32 rts_succ_cnt; //Total number of RTS/CTS sequence success for transmission of a packet - tANI_U32 rx_discard_cnt; //The sum of the receive error count and dropped-receive-buffer error count. + tANI_U32 rts_succ_cnt; //Total number of RTS/CTS sequence success for transmission of a packet + tANI_U32 rx_discard_cnt; //The sum of the receive error count and dropped-receive-buffer error count. //HAL will provide this as a sum of (FCS error) + (Fail get BD/PDU in HW) tANI_U32 rx_error_cnt; //The receive error count. HAL will provide the RxP FCS error global counter. - tANI_U32 tx_byte_cnt; //The sum of the transmit-directed byte count, transmit-multicast byte count - //and transmit-broadcast byte count. HAL will sum TPE UC/MC/BCAST global counters + tANI_U32 tx_byte_cnt; //The sum of the transmit-directed byte count, transmit-multicast byte count + //and transmit-broadcast byte count. HAL will sum TPE UC/MC/BCAST global counters //to provide this. -#if 0 - //providing the following stats, in case of wrap around for tx_byte_cnt +#if 0 + //providing the following stats, in case of wrap around for tx_byte_cnt tANI_U32 tx_unicast_lower_byte_cnt; tANI_U32 tx_unicast_upper_byte_cnt; tANI_U32 tx_multicast_lower_byte_cnt; @@ -2187,24 +2187,24 @@ typedef enum eTxRateInfo typedef struct sAniGlobalClassAStatsInfo { - tANI_U32 rx_frag_cnt; //The number of MPDU frames received by the 802.11 station for MSDU packets + tANI_U32 rx_frag_cnt; //The number of MPDU frames received by the 802.11 station for MSDU packets //or MMPDU frames - tANI_U32 promiscuous_rx_frag_cnt; //The number of MPDU frames received by the 802.11 station for MSDU packets + tANI_U32 promiscuous_rx_frag_cnt; //The number of MPDU frames received by the 802.11 station for MSDU packets //or MMPDU frames when a promiscuous packet filter was enabled //tANI_U32 rx_fcs_err; //The number of MPDU frames that the 802.11 station received with FCS errors - tANI_U32 rx_input_sensitivity; //The receiver input sensitivity referenced to a FER of 8% at an MPDU length - //of 1024 bytes at the antenna connector. Each element of the array shall correspond + tANI_U32 rx_input_sensitivity; //The receiver input sensitivity referenced to a FER of 8% at an MPDU length + //of 1024 bytes at the antenna connector. Each element of the array shall correspond //to a supported rate and the order shall be the same as the supporteRates parameter. - tANI_U32 max_pwr; //The maximum transmit power in dBm upto one decimal. - //for eg: if it is 10.5dBm, the value would be 105 + tANI_U32 max_pwr; //The maximum transmit power in dBm upto one decimal. + //for eg: if it is 10.5dBm, the value would be 105 //tANI_U32 default_pwr; //The nominal transmit level used after normal power on sequence - tANI_U32 sync_fail_cnt; //Number of times the receiver failed to synchronize with the incoming signal - //after detecting the sync in the preamble of the transmitted PLCP protocol data unit. - tANI_U32 tx_rate; //Legacy transmit rate, in units of - //500 kbit/sec, for the most - //recently transmitted frame + tANI_U32 sync_fail_cnt; //Number of times the receiver failed to synchronize with the incoming signal + //after detecting the sync in the preamble of the transmitted PLCP protocol data unit. + tANI_U32 tx_rate; //Legacy transmit rate, in units of + //500 kbit/sec, for the most + //recently transmitted frame tANI_U32 mcs_index; //mcs index for HT20 and HT40 rates - tANI_U32 tx_rate_flags; //to differentiate between HT20 and + tANI_U32 tx_rate_flags; //to differentiate between HT20 and //HT40 rates; short and long guard interval }tAniGlobalClassAStatsInfo, *tpAniGlobalClassAStatsInfo; @@ -2212,29 +2212,29 @@ typedef struct sAniGlobalClassAStatsInfo typedef struct sAniGlobalSecurityStats { - tANI_U32 rx_wep_unencrypted_frm_cnt; //The number of unencrypted received MPDU frames that the MAC layer discarded when - //the IEEE 802.11 dot11ExcludeUnencrypted management information base (MIB) object + tANI_U32 rx_wep_unencrypted_frm_cnt; //The number of unencrypted received MPDU frames that the MAC layer discarded when + //the IEEE 802.11 dot11ExcludeUnencrypted management information base (MIB) object //is enabled - tANI_U32 rx_mic_fail_cnt; //The number of received MSDU packets that that the 802.11 station discarded + tANI_U32 rx_mic_fail_cnt; //The number of received MSDU packets that that the 802.11 station discarded //because of MIC failures - tANI_U32 tkip_icv_err; //The number of encrypted MPDU frames that the 802.11 station failed to decrypt + tANI_U32 tkip_icv_err; //The number of encrypted MPDU frames that the 802.11 station failed to decrypt //because of a TKIP ICV error - tANI_U32 aes_ccmp_format_err; //The number of received MPDU frames that the 802.11 discarded because of an + tANI_U32 aes_ccmp_format_err; //The number of received MPDU frames that the 802.11 discarded because of an //invalid AES-CCMP format - tANI_U32 aes_ccmp_replay_cnt; //The number of received MPDU frames that the 802.11 station discarded because of + tANI_U32 aes_ccmp_replay_cnt; //The number of received MPDU frames that the 802.11 station discarded because of //the AES-CCMP replay protection procedure - tANI_U32 aes_ccmp_decrpt_err; //The number of received MPDU frames that the 802.11 station discarded because of + tANI_U32 aes_ccmp_decrpt_err; //The number of received MPDU frames that the 802.11 station discarded because of //errors detected by the AES-CCMP decryption algorithm - tANI_U32 wep_undecryptable_cnt; //The number of encrypted MPDU frames received for which a WEP decryption key was + tANI_U32 wep_undecryptable_cnt; //The number of encrypted MPDU frames received for which a WEP decryption key was //not available on the 802.11 station - tANI_U32 wep_icv_err; //The number of encrypted MPDU frames that the 802.11 station failed to decrypt + tANI_U32 wep_icv_err; //The number of encrypted MPDU frames that the 802.11 station failed to decrypt //because of a WEP ICV error - tANI_U32 rx_decrypt_succ_cnt; //The number of received encrypted packets that the 802.11 station successfully + tANI_U32 rx_decrypt_succ_cnt; //The number of received encrypted packets that the 802.11 station successfully //decrypted tANI_U32 rx_decrypt_fail_cnt; //The number of encrypted packets that the 802.11 station failed to decrypt }tAniGlobalSecurityStats, *tpAniGlobalSecurityStats; - + typedef struct sAniGlobalClassBStatsInfo { tAniGlobalSecurityStats ucStats; @@ -2243,27 +2243,27 @@ typedef struct sAniGlobalClassBStatsInfo typedef struct sAniGlobalClassCStatsInfo { - tANI_U32 rx_amsdu_cnt; //This counter shall be incremented for a received A-MSDU frame with the stations - //MAC address in the address 1 field or an A-MSDU frame with a group address in the + tANI_U32 rx_amsdu_cnt; //This counter shall be incremented for a received A-MSDU frame with the stations + //MAC address in the address 1 field or an A-MSDU frame with a group address in the //address 1 field tANI_U32 rx_ampdu_cnt; //This counter shall be incremented when the MAC receives an AMPDU from the PHY - tANI_U32 tx_20_frm_cnt; //This counter shall be incremented when a Frame is transmitted only on the + tANI_U32 tx_20_frm_cnt; //This counter shall be incremented when a Frame is transmitted only on the //primary channel tANI_U32 rx_20_frm_cnt; //This counter shall be incremented when a Frame is received only on the primary channel - tANI_U32 rx_mpdu_in_ampdu_cnt; //This counter shall be incremented by the number of MPDUs received in the A-MPDU + tANI_U32 rx_mpdu_in_ampdu_cnt; //This counter shall be incremented by the number of MPDUs received in the A-MPDU //when an A-MPDU is received - tANI_U32 ampdu_delimiter_crc_err;//This counter shall be incremented when an MPDU delimiter has a CRC error when this - //is the first CRC error in the received AMPDU or when the previous delimiter has been + tANI_U32 ampdu_delimiter_crc_err;//This counter shall be incremented when an MPDU delimiter has a CRC error when this + //is the first CRC error in the received AMPDU or when the previous delimiter has been //decoded correctly }tAniGlobalClassCStatsInfo, *tpAniGlobalClassCStatsInfo; typedef struct sAniPerStaStatsInfo { - tANI_U32 tx_frag_cnt[4]; //The number of MPDU frames that the 802.11 station transmitted and acknowledged + tANI_U32 tx_frag_cnt[4]; //The number of MPDU frames that the 802.11 station transmitted and acknowledged //through a received 802.11 ACK frame - tANI_U32 tx_ampdu_cnt; //This counter shall be incremented when an A-MPDU is transmitted - tANI_U32 tx_mpdu_in_ampdu_cnt; //This counter shall increment by the number of MPDUs in the AMPDU when an A-MPDU + tANI_U32 tx_ampdu_cnt; //This counter shall be incremented when an A-MPDU is transmitted + tANI_U32 tx_mpdu_in_ampdu_cnt; //This counter shall increment by the number of MPDUs in the AMPDU when an A-MPDU //is transmitted }tAniPerStaStatsInfo, *tpAniPerStaStatsInfo; @@ -2321,7 +2321,7 @@ typedef struct sSirRSSINotification tANI_U32 bRssiThres1NegCross : 1; tANI_U32 bRssiThres1PosCross : 1; #endif - + }tSirRSSINotification, *tpSirRSSINotification; @@ -2446,8 +2446,8 @@ typedef struct sSirAddtsRsp { tANI_U16 messageType; // eWNI_SME_ADDTS_RSP tANI_U16 length; - tANI_U8 sessionId; // sme sessionId Added for BT-AMP support - tANI_U16 transactionId; //sme transaction Id Added for BT-AMP Support + tANI_U8 sessionId; // sme sessionId Added for BT-AMP support + tANI_U16 transactionId; //sme transaction Id Added for BT-AMP Support tANI_U32 rc; // return code tSirAddtsRspInfo rsp; } tSirAddtsRsp, *tpSirAddtsRsp; @@ -2469,8 +2469,8 @@ typedef struct sSirDeltsRsp { tANI_U16 messageType; // eWNI_SME_DELTS_RSP tANI_U16 length; - tANI_U8 sessionId; // sme sessionId Added for BT-AMP support - tANI_U16 transactionId; //sme transaction Id Added for BT-AMP Support + tANI_U8 sessionId; // sme sessionId Added for BT-AMP support + tANI_U16 transactionId; //sme transaction Id Added for BT-AMP Support tANI_U32 rc; tANI_U16 aid; // use 0 if macAddr is being specified tANI_U8 macAddr[6]; // only on AP to specify the STA @@ -2550,10 +2550,10 @@ typedef struct sSirGetTxPowerRsp typedef tANI_U32 tSirMacNoise[3]; -typedef struct sSirGetNoiseRsp +typedef struct sSirGetNoiseRsp { tANI_U16 messageType; - tANI_U16 length; + tANI_U16 length; tSirMacNoise noise; } tSirGetNoiseRsp, *tpSirGetNoiseRsp; @@ -2565,9 +2565,9 @@ typedef struct sSirGetNoiseRsp typedef struct sSirPowerSaveCfg { tANI_U16 listenInterval; - - /* Number of consecutive missed beacons before - * hardware generates an interrupt to wake up + + /* Number of consecutive missed beacons before + * hardware generates an interrupt to wake up * the host. In units of listen interval. */ tANI_U32 HeartBeatCount; @@ -2578,35 +2578,35 @@ typedef struct sSirPowerSaveCfg */ tANI_U32 nthBeaconFilter; - /* Maximum number of PS-Poll send before + /* Maximum number of PS-Poll send before * firmware sends data null with PM set to 0. */ - tANI_U32 maxPsPoll; + tANI_U32 maxPsPoll; - /* If the average RSSI value falls below the - * minRssiThreshold, then FW will send an - * interrupt to wake up the host. + /* If the average RSSI value falls below the + * minRssiThreshold, then FW will send an + * interrupt to wake up the host. */ - tANI_U32 minRssiThreshold; + tANI_U32 minRssiThreshold; - /* Number of beacons for which firmware will + /* Number of beacons for which firmware will * collect the RSSI values and compute the average. */ - tANI_U8 numBeaconPerRssiAverage; + tANI_U8 numBeaconPerRssiAverage; /* FW collects the RSSI stats for this period - * in BMPS mode. + * in BMPS mode. */ tANI_U8 rssiFilterPeriod; // Enabling/disabling broadcast frame filter feature - tANI_U8 broadcastFrameFilter; + tANI_U8 broadcastFrameFilter; // Enabling/disabling the ignore DTIM feature tANI_U8 ignoreDtim; /* The following configuration parameters are kept - * in order to be backward compatible for Gen5. + * in order to be backward compatible for Gen5. * These will NOT be used for Gen6 Libra chip */ tBeaconForwarding beaconFwd; @@ -2615,12 +2615,12 @@ typedef struct sSirPowerSaveCfg tANI_U8 fPSPoll; // Enabling/disabling Beacon Early Termination feature - tANI_U8 fEnableBeaconEarlyTermination; - tANI_U8 bcnEarlyTermWakeInterval; + tANI_U8 fEnableBeaconEarlyTermination; + tANI_U8 bcnEarlyTermWakeInterval; }tSirPowerSaveCfg, *tpSirPowerSaveCfg; -/* Reason code for requesting Full Power. This reason code is used by +/* Reason code for requesting Full Power. This reason code is used by any module requesting full power from PMC and also by PE when it sends the eWNI_PMC_EXIT_BMPS_IND to PMC*/ typedef enum eRequestFullPowerReason @@ -2638,7 +2638,7 @@ typedef enum eRequestFullPowerReason #ifdef FEATURE_WLAN_TDLS eSME_FULL_PWR_NEEDED_BY_TDLS_PEER_SETUP, /* TDLS peer setup*/ #endif - eSME_REASON_OTHER /* No specific reason. General reason code */ + eSME_REASON_OTHER /* No specific reason. General reason code */ } tRequestFullPowerReason, tExitBmpsReason; @@ -2682,7 +2682,7 @@ typedef struct sSmeDelBAPeerInd // Message Type tANI_U16 mesgType; - tSirMacAddr bssId;//BSSID + tSirMacAddr bssId;//BSSID // Message Length tANI_U16 mesgLen; @@ -2708,7 +2708,7 @@ typedef struct sSmeIbssPeerInd tSirMacAddr peerAddr; tANI_U16 staId; - /*The DPU signatures will be sent eventually to TL to help it determine the + /*The DPU signatures will be sent eventually to TL to help it determine the association to which a packet belongs to*/ /*Unicast DPU signature*/ tANI_U8 ucastSig; @@ -2745,7 +2745,7 @@ typedef struct sLimScanChnInfo typedef struct sSirSmeGetAssocSTAsReq { tANI_U16 messageType; // eWNI_SME_GET_ASSOC_STAS_REQ - tANI_U16 length; + tANI_U16 length; tSirMacAddr bssId; // BSSID tANI_U16 modId; void *pUsrContext; @@ -2756,8 +2756,8 @@ typedef struct sSirSmeGetAssocSTAsReq typedef struct sSmeMaxAssocInd { tANI_U16 mesgType; // eWNI_SME_MAX_ASSOC_EXCEEDED - tANI_U16 mesgLen; - tANI_U8 sessionId; + tANI_U16 mesgLen; + tANI_U8 sessionId; tSirMacAddr peerMac; // the new peer that got rejected due to softap max assoc limit reached } tSmeMaxAssocInd, *tpSmeMaxAssocInd; @@ -2926,7 +2926,7 @@ typedef __ani_attr_pre_packed struct sSirBoardCapabilities #define SIR_WOWL_BCAST_PATTERN_MAX_SIZE 128 #define SIR_WOWL_BCAST_MAX_NUM_PATTERNS 16 -// SME -> PE -> HAL - This is to add WOWL BCAST wake-up pattern. +// SME -> PE -> HAL - This is to add WOWL BCAST wake-up pattern. // SME/HDD maintains the list of the BCAST wake-up patterns. // This is a pass through message for PE typedef struct sSirWowlAddBcastPtrn @@ -2934,7 +2934,7 @@ typedef struct sSirWowlAddBcastPtrn tANI_U8 ucPatternId; // Pattern ID // Pattern byte offset from beginning of the 802.11 packet to start of the // wake-up pattern - tANI_U8 ucPatternByteOffset; + tANI_U8 ucPatternByteOffset; tANI_U8 ucPatternSize; // Non-Zero Pattern size tANI_U8 ucPattern[SIR_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern tANI_U8 ucPatternMaskSize; // Non-zero pattern mask size @@ -2947,7 +2947,7 @@ typedef struct sSirWowlAddBcastPtrn } tSirWowlAddBcastPtrn, *tpSirWowlAddBcastPtrn; -// SME -> PE -> HAL - This is to delete WOWL BCAST wake-up pattern. +// SME -> PE -> HAL - This is to delete WOWL BCAST wake-up pattern. // SME/HDD maintains the list of the BCAST wake-up patterns. // This is a pass through message for PE typedef struct sSirWowlDelBcastPtrn @@ -2958,19 +2958,19 @@ typedef struct sSirWowlDelBcastPtrn }tSirWowlDelBcastPtrn, *tpSirWowlDelBcastPtrn; -// SME->PE: Enter WOWLAN parameters +// SME->PE: Enter WOWLAN parameters typedef struct sSirSmeWowlEnterParams { tANI_U8 sessionId; /* Enables/disables magic packet filtering */ - tANI_U8 ucMagicPktEnable; + tANI_U8 ucMagicPktEnable; /* Magic pattern */ tSirMacAddr magicPtrn; /* Enables/disables packet pattern filtering */ - tANI_U8 ucPatternFilteringEnable; + tANI_U8 ucPatternFilteringEnable; #ifdef WLAN_WAKEUP_EVENTS /* This configuration directs the WoW packet filtering to look for EAP-ID @@ -3000,62 +3000,62 @@ typedef struct sSirSmeWowlEnterParams } tSirSmeWowlEnterParams, *tpSirSmeWowlEnterParams; -// PE<->HAL: Enter WOWLAN parameters +// PE<->HAL: Enter WOWLAN parameters typedef struct sSirHalWowlEnterParams { tANI_U8 sessionId; /* Enables/disables magic packet filtering */ - tANI_U8 ucMagicPktEnable; + tANI_U8 ucMagicPktEnable; /* Magic pattern */ tSirMacAddr magicPtrn; - /* Enables/disables packet pattern filtering in firmware. - Enabling this flag enables broadcast pattern matching - in Firmware. If unicast pattern matching is also desired, - ucUcastPatternFilteringEnable flag must be set tot true - as well + /* Enables/disables packet pattern filtering in firmware. + Enabling this flag enables broadcast pattern matching + in Firmware. If unicast pattern matching is also desired, + ucUcastPatternFilteringEnable flag must be set tot true + as well */ tANI_U8 ucPatternFilteringEnable; - /* Enables/disables unicast packet pattern filtering. - This flag specifies whether we want to do pattern match - on unicast packets as well and not just broadcast packets. - This flag has no effect if the ucPatternFilteringEnable + /* Enables/disables unicast packet pattern filtering. + This flag specifies whether we want to do pattern match + on unicast packets as well and not just broadcast packets. + This flag has no effect if the ucPatternFilteringEnable (main controlling flag) is set to false */ - tANI_U8 ucUcastPatternFilteringEnable; + tANI_U8 ucUcastPatternFilteringEnable; - /* This configuration is valid only when magicPktEnable=1. - * It requests hardware to wake up when it receives the + /* This configuration is valid only when magicPktEnable=1. + * It requests hardware to wake up when it receives the * Channel Switch Action Frame. */ tANI_U8 ucWowChnlSwitchRcv; - /* This configuration is valid only when magicPktEnable=1. - * It requests hardware to wake up when it receives the - * Deauthentication Frame. + /* This configuration is valid only when magicPktEnable=1. + * It requests hardware to wake up when it receives the + * Deauthentication Frame. */ tANI_U8 ucWowDeauthRcv; - /* This configuration is valid only when magicPktEnable=1. - * It requests hardware to wake up when it receives the - * Disassociation Frame. + /* This configuration is valid only when magicPktEnable=1. + * It requests hardware to wake up when it receives the + * Disassociation Frame. */ tANI_U8 ucWowDisassocRcv; - /* This configuration is valid only when magicPktEnable=1. + /* This configuration is valid only when magicPktEnable=1. * It requests hardware to wake up when it has missed * consecutive beacons. This is a hardware register - * configuration (NOT a firmware configuration). + * configuration (NOT a firmware configuration). */ tANI_U8 ucWowMaxMissedBeacons; - /* This configuration is valid only when magicPktEnable=1. + /* This configuration is valid only when magicPktEnable=1. * This is a timeout value in units of microsec. It requests * hardware to unconditionally wake up after it has stayed - * in WoWLAN mode for some time. Set 0 to disable this feature. + * in WoWLAN mode for some time. Set 0 to disable this feature. */ tANI_U8 ucWowMaxSleepUsec; @@ -3084,8 +3084,8 @@ typedef struct sSirHalWowlEnterParams #endif // WLAN_WAKEUP_EVENTS /* Status code to be filled by HAL when it sends - * SIR_HAL_WOWL_ENTER_RSP to PE. - */ + * SIR_HAL_WOWL_ENTER_RSP to PE. + */ eHalStatus status; /*BSSID to find the current session @@ -3100,14 +3100,14 @@ typedef struct sSirSmeWowlExitParams } tSirSmeWowlExitParams, *tpSirSmeWowlExitParams; -// PE<->HAL: Exit WOWLAN parameters +// PE<->HAL: Exit WOWLAN parameters typedef struct sSirHalWowlExitParams { tANI_U8 sessionId; /* Status code to be filled by HAL when it sends - * SIR_HAL_WOWL_EXIT_RSP to PE. - */ + * SIR_HAL_WOWL_EXIT_RSP to PE. + */ eHalStatus status; /*BSSIDX to find the current session @@ -3151,7 +3151,7 @@ typedef struct sSirText { typedef struct sSirWPSProbeRspIE { v_U32_t FieldPresent; v_U32_t Version; // Version. 0x10 = version 1.0, 0x11 = etc. - v_U32_t wpsState; // 1 = unconfigured, 2 = configured. + v_U32_t wpsState; // 1 = unconfigured, 2 = configured. v_BOOL_t APSetupLocked; // Must be included if value is TRUE v_BOOL_t SelectedRegistra; //BOOL: indicates if the user has recently activated a Registrar to add an Enrollee. v_U16_t DevicePasswordID; // Device Password ID @@ -3182,7 +3182,7 @@ typedef struct sSirWPSProbeRspIE { typedef struct sSirWPSBeaconIE { v_U32_t FieldPresent; v_U32_t Version; // Version. 0x10 = version 1.0, 0x11 = etc. - v_U32_t wpsState; // 1 = unconfigured, 2 = configured. + v_U32_t wpsState; // 1 = unconfigured, 2 = configured. v_BOOL_t APSetupLocked; // Must be included if value is TRUE v_BOOL_t SelectedRegistra; //BOOL: indicates if the user has recently activated a Registrar to add an Enrollee. v_U16_t DevicePasswordID; // Device Password ID @@ -3218,7 +3218,7 @@ typedef struct sSirUpdateAPWPSIEsReq typedef struct sSirUpdateParams { - tANI_U16 messageType; + tANI_U16 messageType; tANI_U16 length; tANI_U8 sessionId; // Session ID tANI_U8 ssidHidden; // Hide SSID @@ -3227,7 +3227,7 @@ typedef struct sSirUpdateParams //Beacon Interval typedef struct sSirChangeBIParams { - tANI_U16 messageType; + tANI_U16 messageType; tANI_U16 length; tANI_U16 beaconInterval; // Beacon Interval tSirMacAddr bssId; @@ -3274,15 +3274,15 @@ typedef struct sSirSmeProbeReqInd typedef struct sSirUpdateAPWPARSNIEsReq { tANI_U16 messageType; // eWNI_SME_SET_APWPARSNIEs_REQ - tANI_U16 length; + tANI_U16 length; tANI_U16 transactionId; //Transaction ID for cmd tSirMacAddr bssId; // BSSID - tANI_U8 sessionId; //Session ID + tANI_U8 sessionId; //Session ID tSirRSNie APWPARSNIEs; } tSirUpdateAPWPARSNIEsReq, *tpSirUpdateAPWPARSNIEsReq; -// SME -> HAL - This is the host offload request. +// SME -> HAL - This is the host offload request. #define SIR_IPV4_ARP_REPLY_OFFLOAD 0 #define SIR_IPV6_NEIGHBOR_DISCOVERY_OFFLOAD 1 #define SIR_IPV6_NS_OFFLOAD 2 @@ -3335,7 +3335,7 @@ typedef struct sSirKeepAliveReq { v_U8_t packetType; v_U32_t timePeriod; - tSirIpv4Addr hostIpv4Addr; + tSirIpv4Addr hostIpv4Addr; tSirIpv4Addr destIpv4Addr; tSirMacAddr destMacAddr; tSirMacAddr bssId; @@ -3376,9 +3376,9 @@ typedef struct sSirSmeDelStaSelfRsp tSirMacAddr selfMacAddr; }tSirSmeDelStaSelfRsp, *tpSirSmeDelStaSelfRsp; -/* Coex Indication defines - - should match WLAN_COEX_IND_DATA_SIZE - should match WLAN_COEX_IND_TYPE_DISABLE_HB_MONITOR +/* Coex Indication defines - + should match WLAN_COEX_IND_DATA_SIZE + should match WLAN_COEX_IND_TYPE_DISABLE_HB_MONITOR should match WLAN_COEX_IND_TYPE_ENABLE_HB_MONITOR */ #define SIR_COEX_IND_DATA_SIZE (4) #define SIR_COEX_IND_TYPE_DISABLE_HB_MONITOR (0) @@ -3458,7 +3458,7 @@ typedef struct sSirWlanSetRxpFilters // PNO Messages // -// Set PNO +// Set PNO #define SIR_PNO_MAX_NETW_CHANNELS 26 #define SIR_PNO_MAX_NETW_CHANNELS_EX 60 #define SIR_PNO_MAX_SUPP_NETWORKS 16 @@ -3469,7 +3469,7 @@ typedef struct sSirWlanSetRxpFilters #endif /*size based of dot11 declaration without extra IEs as we will not carry those for PNO*/ -#define SIR_PNO_MAX_PB_REQ_SIZE 450 +#define SIR_PNO_MAX_PB_REQ_SIZE 450 #define SIR_PNO_24G_DEFAULT_CH 1 #define SIR_PNO_5G_DEFAULT_CH 36 @@ -3491,48 +3491,48 @@ typedef enum SIR_PNO_MODE_IMMEDIATE, SIR_PNO_MODE_ON_SUSPEND, SIR_PNO_MODE_ON_RESUME, - SIR_PNO_MODE_MAX + SIR_PNO_MODE_MAX } eSirPNOMode; -typedef struct +typedef struct { tSirMacSSid ssId; - tANI_U32 authentication; - tANI_U32 encryption; - tANI_U32 bcastNetwType; + tANI_U32 authentication; + tANI_U32 encryption; + tANI_U32 bcastNetwType; tANI_U8 ucChannelCount; tANI_U8 aChannels[SIR_PNO_MAX_NETW_CHANNELS_EX]; tANI_U8 rssiThreshold; -} tSirNetworkType; +} tSirNetworkType; -typedef struct +typedef struct { - tANI_U32 uTimerValue; - tANI_U32 uTimerRepeat; -}tSirScanTimer; + tANI_U32 uTimerValue; + tANI_U32 uTimerRepeat; +}tSirScanTimer; typedef struct { - tANI_U8 ucScanTimersCount; - tSirScanTimer aTimerValues[SIR_PNO_MAX_SCAN_TIMERS]; + tANI_U8 ucScanTimersCount; + tSirScanTimer aTimerValues[SIR_PNO_MAX_SCAN_TIMERS]; } tSirScanTimersType; typedef struct sSirPNOScanReq { tANI_U8 enable; eSirPNOMode modePNO; - tANI_U8 ucNetworksCount; + tANI_U8 ucNetworksCount; tSirNetworkType aNetworks[SIR_PNO_MAX_SUPP_NETWORKS]; tSirScanTimersType scanTimers; #ifdef FEATURE_WLAN_PNO_OFFLOAD tANI_U8 sessionId; #endif - + /*added by SME*/ - tANI_U16 us24GProbeTemplateLen; + tANI_U16 us24GProbeTemplateLen; tANI_U8 p24GProbeTemplate[SIR_PNO_MAX_PB_REQ_SIZE]; - tANI_U16 us5GProbeTemplateLen; - tANI_U8 p5GProbeTemplate[SIR_PNO_MAX_PB_REQ_SIZE]; + tANI_U16 us5GProbeTemplateLen; + tANI_U8 p5GProbeTemplate[SIR_PNO_MAX_PB_REQ_SIZE]; } tSirPNOScanReq, *tpSirPNOScanReq; #ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD @@ -3579,6 +3579,7 @@ typedef struct sSirRoamOffloadScanReq and firmware.*/ tSirRoamNetworkType ConnectedNetwork; tSirMobilityDomainInfo MDID; + tANI_U8 sessionId; } tSirRoamOffloadScanReq, *tpSirRoamOffloadScanReq; #endif @@ -3588,22 +3589,22 @@ typedef struct sSirSetRSSIFilterReq } tSirSetRSSIFilterReq, *tpSirSetRSSIFilterReq; -// Update Scan Params +// Update Scan Params typedef struct { - tANI_U8 b11dEnabled; + tANI_U8 b11dEnabled; tANI_U8 b11dResolved; - tANI_U8 ucChannelCount; - tANI_U8 aChannels[SIR_PNO_MAX_NETW_CHANNELS_EX]; - tANI_U16 usPassiveMinChTime; - tANI_U16 usPassiveMaxChTime; - tANI_U16 usActiveMinChTime; - tANI_U16 usActiveMaxChTime; - tANI_U8 ucCBState; + tANI_U8 ucChannelCount; + tANI_U8 aChannels[SIR_PNO_MAX_NETW_CHANNELS_EX]; + tANI_U16 usPassiveMinChTime; + tANI_U16 usPassiveMaxChTime; + tANI_U16 usActiveMinChTime; + tANI_U16 usActiveMaxChTime; + tANI_U8 ucCBState; } tSirUpdateScanParams, * tpSirUpdateScanParams; // Preferred Network Found Indication typedef struct -{ +{ tANI_U16 mesgType; tANI_U16 mesgLen; /* Network that was found with the highest RSSI*/ @@ -3625,20 +3626,20 @@ typedef struct typedef enum { eSIR_IGNORE_DTIM = 1, - eSIR_LISTEN_INTERVAL = 2, - eSIR_MCAST_BCAST_FILTER = 3, - eSIR_ENABLE_BET = 4, - eSIR_BET_INTERVAL = 5 + eSIR_LISTEN_INTERVAL = 2, + eSIR_MCAST_BCAST_FILTER = 3, + eSIR_ENABLE_BET = 4, + eSIR_BET_INTERVAL = 5 }tPowerParamType; //Power Parameters Value s -typedef struct +typedef struct { /* Ignore DTIM */ tANI_U32 uIgnoreDTIM; /* DTIM Period */ - tANI_U32 uDTIMPeriod; + tANI_U32 uDTIMPeriod; /* Listen Interval */ tANI_U32 uListenInterval; @@ -3650,7 +3651,7 @@ typedef struct tANI_U32 uEnableBET; /* Beacon Early Termination Interval */ - tANI_U32 uBETInterval; + tANI_U32 uBETInterval; /* MAX LI for modulated DTIM */ tANI_U32 uMaxLIModulatedDTIM; @@ -3673,8 +3674,8 @@ typedef struct sSirTxPerTrackingParam #define SIR_MAC_ADDR_LEN 6 #define SIR_MAX_FILTER_TEST_DATA_LEN 8 #define SIR_MAX_NUM_MULTICAST_ADDRESS 240 -#define SIR_MAX_NUM_FILTERS 20 -#define SIR_MAX_NUM_TESTS_PER_FILTER 10 +#define SIR_MAX_NUM_FILTERS 20 +#define SIR_MAX_NUM_TESTS_PER_FILTER 10 // // Receive Filter Parameters @@ -3687,7 +3688,7 @@ typedef enum SIR_RCV_FILTER_TYPE_MAX_ENUM_SIZE }eSirReceivePacketFilterType; -typedef enum +typedef enum { SIR_FILTER_HDR_TYPE_INVALID, SIR_FILTER_HDR_TYPE_MAC, @@ -3698,7 +3699,7 @@ typedef enum SIR_FILTER_HDR_TYPE_MAX }eSirRcvPktFltProtocolType; -typedef enum +typedef enum { SIR_FILTER_CMP_TYPE_INVALID, SIR_FILTER_CMP_TYPE_EQUAL, @@ -3713,20 +3714,20 @@ typedef struct sSirRcvPktFilterFieldParams eSirRcvPktFltProtocolType protocolLayer; eSirRcvPktFltCmpFlagType cmpFlag; /* Length of the data to compare */ - tANI_U16 dataLength; + tANI_U16 dataLength; /* from start of the respective frame header */ - tANI_U8 dataOffset; + tANI_U8 dataOffset; /* Reserved field */ - tANI_U8 reserved; + tANI_U8 reserved; /* Data to compare */ tANI_U8 compareData[SIR_MAX_FILTER_TEST_DATA_LEN]; /* Mask to be applied on the received packet data before compare */ - tANI_U8 dataMask[SIR_MAX_FILTER_TEST_DATA_LEN]; + tANI_U8 dataMask[SIR_MAX_FILTER_TEST_DATA_LEN]; }tSirRcvPktFilterFieldParams, *tpSirRcvPktFilterFieldParams; typedef struct sSirRcvPktFilterCfg { - tANI_U8 filterId; + tANI_U8 filterId; eSirReceivePacketFilterType filterType; tANI_U32 numFieldParams; tANI_U32 coalesceTime; @@ -3748,7 +3749,7 @@ typedef struct sSirRcvFltPktMatchRsp { tANI_U16 mesgType; tANI_U16 mesgLen; - + /* Success or Failure */ tANI_U32 status; tSirRcvFltPktMatchCnt filterMatchCnt[SIR_MAX_NUM_FILTERS]; @@ -3796,7 +3797,7 @@ typedef struct sAniBtAmpLogLinkReq tANI_U16 msgLen; // length of the entire request tANI_U8 sessionId; //sme Session Id void *btampHandle; //AMP context - + } tAniBtAmpLogLinkReq, *tpAniBtAmpLogLinkReq; #ifdef WLAN_FEATURE_GTK_OFFLOAD @@ -3806,7 +3807,7 @@ typedef struct sAniBtAmpLogLinkReq typedef struct { tANI_U32 ulFlags; /* optional flags */ - tANI_U8 aKCK[16]; /* Key confirmation key */ + tANI_U8 aKCK[16]; /* Key confirmation key */ tANI_U8 aKEK[16]; /* key encryption key */ tANI_U64 ullKeyReplayCounter; /* replay counter */ tSirMacAddr bssId; @@ -3831,10 +3832,10 @@ typedef struct #ifdef WLAN_WAKEUP_EVENTS /*--------------------------------------------------------------------------- - tSirWakeReasonInd + tSirWakeReasonInd ---------------------------------------------------------------------------*/ typedef struct -{ +{ tANI_U16 mesgType; tANI_U16 mesgLen; tANI_U32 ulReason; /* see tWakeReasonType */ @@ -3844,12 +3845,12 @@ typedef struct will be less than the actual length */ tANI_U32 ulActualDataLen; /* actual length of data */ tANI_U8 aDataStart[1]; /* variable length start of data (length == storedDataLen) - see specific wake type */ + see specific wake type */ } tSirWakeReasonInd, *tpSirWakeReasonInd; #endif // WLAN_WAKEUP_EVENTS /*--------------------------------------------------------------------------- - sAniSetTmLevelReq + sAniSetTmLevelReq ---------------------------------------------------------------------------*/ typedef struct sAniSetTmLevelReq { @@ -4109,9 +4110,9 @@ typedef struct sSirTdlsLinkEstablishInd tANI_U8 ptiTemplateLen; tANI_U8 ptiTemplateBuf[64]; tANI_U8 extCapability[8]; -/* This will be part of PTI template when sent by PE +/* This will be part of PTI template when sent by PE tANI_U8 linkIdentifier[20]; -*/ +*/ } tSirTdlsLinkEstablishInd, *tpSirTdlsLinkEstablishInd; typedef struct sSirTdlsLinkTeardownInd diff --git a/CORE/MAC/src/pe/lim/limFT.c b/CORE/MAC/src/pe/lim/limFT.c index ca206b2f9add..c611571473f8 100644 --- a/CORE/MAC/src/pe/lim/limFT.c +++ b/CORE/MAC/src/pe/lim/limFT.c @@ -27,13 +27,13 @@ #ifdef WLAN_FEATURE_VOWIFI_11R /**========================================================================= - - \brief implementation for PE 11r VoWiFi FT Protocol - + + \brief implementation for PE 11r VoWiFi FT Protocol + Copyright 2008 (c) Qualcomm Technologies, Inc. All Rights Reserved. - + Qualcomm Technologies Confidential and Proprietary. - + ========================================================================*/ /* $Header$ */ @@ -59,7 +59,7 @@ #define LIM_FT_RIC_DESCRIPTOR_MAX_VAR_DATA_LEN 255 /*-------------------------------------------------------------------------- - Initialize the FT variables. + Initialize the FT variables. ------------------------------------------------------------------------*/ void limFTOpen(tpAniSirGlobal pMac) { @@ -68,15 +68,15 @@ void limFTOpen(tpAniSirGlobal pMac) } /*-------------------------------------------------------------------------- - Cleanup FT variables. + Cleanup FT variables. ------------------------------------------------------------------------*/ void limFTCleanup(tpAniSirGlobal pMac) { - if (pMac->ft.ftPEContext.pFTPreAuthReq) + if (pMac->ft.ftPEContext.pFTPreAuthReq) { #if defined WLAN_FEATURE_VOWIFI_11R_DEBUG PELOGE(limLog( pMac, LOGE, "%s: Freeing pFTPreAuthReq= %p", - __func__, pMac->ft.ftPEContext.pFTPreAuthReq);) + __func__, pMac->ft.ftPEContext.pFTPreAuthReq);) #endif if (pMac->ft.ftPEContext.pFTPreAuthReq->pbssDescription) { @@ -93,7 +93,7 @@ void limFTCleanup(tpAniSirGlobal pMac) { #if defined WLAN_FEATURE_VOWIFI_11R_DEBUG PELOGE(limLog( pMac, LOGE, "%s: Setting psavedsessionEntry= %p to NULL", - __func__, pMac->ft.ftPEContext.psavedsessionEntry);) + __func__, pMac->ft.ftPEContext.psavedsessionEntry);) #endif pMac->ft.ftPEContext.psavedsessionEntry = NULL; } @@ -111,7 +111,7 @@ void limFTCleanup(tpAniSirGlobal pMac) pMac->ft.ftPEContext.pftSessionEntry = NULL; #if defined WLAN_FEATURE_VOWIFI_11R_DEBUG PELOGE(limLog( pMac, LOGE, "%s: Setting psavedsessionEntry= %p to NULL", - __func__, pMac->ft.ftPEContext.psavedsessionEntry);) + __func__, pMac->ft.ftPEContext.psavedsessionEntry);) #endif } @@ -127,20 +127,20 @@ void limFTCleanup(tpAniSirGlobal pMac) pMac->ft.ftPEContext.pAddStaReq = NULL; } - pMac->ft.ftPEContext.ftPreAuthStatus = eSIR_SUCCESS; + pMac->ft.ftPEContext.ftPreAuthStatus = eSIR_SUCCESS; } /*-------------------------------------------------------------------------- - Init FT variables. + Init FT variables. ------------------------------------------------------------------------*/ void limFTInit(tpAniSirGlobal pMac) { - if (pMac->ft.ftPEContext.pFTPreAuthReq) + if (pMac->ft.ftPEContext.pFTPreAuthReq) { #if defined WLAN_FEATURE_VOWIFI_11R_DEBUG PELOGE(limLog( pMac, LOGE, "%s: Freeing pFTPreAuthReq= %p", - __func__, pMac->ft.ftPEContext.pFTPreAuthReq);) + __func__, pMac->ft.ftPEContext.pFTPreAuthReq);) #endif if (pMac->ft.ftPEContext.pFTPreAuthReq->pbssDescription) { @@ -158,7 +158,7 @@ void limFTInit(tpAniSirGlobal pMac) { #if defined WLAN_FEATURE_VOWIFI_11R_DEBUG PELOGE(limLog( pMac, LOGE, "%s: Setting psavedsessionEntry= %p to NULL", - __func__, pMac->ft.ftPEContext.psavedsessionEntry);) + __func__, pMac->ft.ftPEContext.psavedsessionEntry);) #endif pMac->ft.ftPEContext.psavedsessionEntry = NULL; } @@ -170,7 +170,7 @@ void limFTInit(tpAniSirGlobal pMac) /* Cannot delete sessions across associations */ #if defined WLAN_FEATURE_VOWIFI_11R_DEBUG PELOGE(limLog( pMac, LOGE, "%s: Deleting session = %p ", - __func__, pMac->ft.ftPEContext.pftSessionEntry);) + __func__, pMac->ft.ftPEContext.pftSessionEntry);) #endif pMac->ft.ftPEContext.pftSessionEntry = NULL; } @@ -179,7 +179,7 @@ void limFTInit(tpAniSirGlobal pMac) { #if defined WLAN_FEATURE_VOWIFI_11R_DEBUG PELOGE(limLog( pMac, LOGE, "%s: Freeing AddBssReq = %p ", - __func__, pMac->ft.ftPEContext.pAddBssReq);) + __func__, pMac->ft.ftPEContext.pAddBssReq);) #endif vos_mem_free(pMac->ft.ftPEContext.pAddBssReq); pMac->ft.ftPEContext.pAddBssReq = NULL; @@ -190,18 +190,18 @@ void limFTInit(tpAniSirGlobal pMac) { #if defined WLAN_FEATURE_VOWIFI_11R_DEBUG PELOGE(limLog( pMac, LOGE, "%s: Freeing AddStaReq = %p ", - __func__, pMac->ft.ftPEContext.pAddStaReq);) + __func__, pMac->ft.ftPEContext.pAddStaReq);) #endif vos_mem_free(pMac->ft.ftPEContext.pAddStaReq); pMac->ft.ftPEContext.pAddStaReq = NULL; } - pMac->ft.ftPEContext.ftPreAuthStatus = eSIR_SUCCESS; + pMac->ft.ftPEContext.ftPreAuthStatus = eSIR_SUCCESS; } /*------------------------------------------------------------------ - * + * * This is the handler after suspending the link. * We suspend the link and then now proceed to switch channel. * @@ -209,9 +209,9 @@ void limFTInit(tpAniSirGlobal pMac) void FTPreAuthSuspendLinkHandler(tpAniSirGlobal pMac, eHalStatus status, tANI_U32 *data) { tpPESession psessionEntry; - + // The link is suspended of not ? - if (status != eHAL_STATUS_SUCCESS) + if (status != eHAL_STATUS_SUCCESS) { PELOGE(limLog( pMac, LOGE, "%s: Returning ", __func__);) // Post the FT Pre Auth Response to SME @@ -225,7 +225,7 @@ void FTPreAuthSuspendLinkHandler(tpAniSirGlobal pMac, eHalStatus status, tANI_U3 // Perform some sanity check before proceeding. if ((pMac->ft.ftPEContext.pFTPreAuthReq) && psessionEntry) { - limChangeChannelWithCallback(pMac, + limChangeChannelWithCallback(pMac, pMac->ft.ftPEContext.pFTPreAuthReq->preAuthchannelNum, limPerformFTPreAuth, NULL, psessionEntry); return; @@ -268,7 +268,7 @@ int limProcessFTPreAuthReq(tpAniSirGlobal pMac, tpSirMsgQ pMsg) #endif // Get the current session entry - psessionEntry = peFindSessionByBssid(pMac, + psessionEntry = peFindSessionByBssid(pMac, pMac->ft.ftPEContext.pFTPreAuthReq->currbssId, &sessionId); if (psessionEntry == NULL) { @@ -277,20 +277,20 @@ int limProcessFTPreAuthReq(tpAniSirGlobal pMac, tpSirMsgQ pMsg) limPrintMacAddr( pMac, pMac->ft.ftPEContext.pFTPreAuthReq->currbssId, LOGE ); // Post the FT Pre Auth Response to SME limPostFTPreAuthRsp(pMac, eSIR_FAILURE, NULL, 0, NULL); - pMac->ft.ftPEContext.pFTPreAuthReq = NULL; + pMac->ft.ftPEContext.pFTPreAuthReq = NULL; return TRUE; } // Dont need to suspend if APs are in same channel - if (psessionEntry->currentOperChannel != pMac->ft.ftPEContext.pFTPreAuthReq->preAuthchannelNum) + if (psessionEntry->currentOperChannel != pMac->ft.ftPEContext.pFTPreAuthReq->preAuthchannelNum) { // Need to suspend link only if the channels are different PELOG2(limLog(pMac,LOG2,"%s: Performing pre-auth on different" " channel (session %p)", __func__, psessionEntry);) - limSuspendLink(pMac, eSIR_CHECK_ROAMING_SCAN, FTPreAuthSuspendLinkHandler, - (tANI_U32 *)psessionEntry); + limSuspendLink(pMac, eSIR_CHECK_ROAMING_SCAN, FTPreAuthSuspendLinkHandler, + (tANI_U32 *)psessionEntry); } - else + else { PELOG2(limLog(pMac,LOG2,"%s: Performing pre-auth on same" " channel (session %p)", __func__, psessionEntry);) @@ -302,10 +302,10 @@ int limProcessFTPreAuthReq(tpAniSirGlobal pMac, tpSirMsgQ pMsg) } /*------------------------------------------------------------------ - * Send the Auth1 + * Send the Auth1 * Receive back Auth2 *------------------------------------------------------------------*/ -void limPerformFTPreAuth(tpAniSirGlobal pMac, eHalStatus status, tANI_U32 *data, +void limPerformFTPreAuth(tpAniSirGlobal pMac, eHalStatus status, tANI_U32 *data, tpPESession psessionEntry) { tSirMacAuthFrameBody authFrame; @@ -313,13 +313,13 @@ void limPerformFTPreAuth(tpAniSirGlobal pMac, eHalStatus status, tANI_U32 *data, if (psessionEntry->is11Rconnection) { // Only 11r assoc has FT IEs. - if (pMac->ft.ftPEContext.pFTPreAuthReq->ft_ies == NULL) + if (pMac->ft.ftPEContext.pFTPreAuthReq->ft_ies == NULL) { PELOGE(limLog( pMac, LOGE, "%s: FTIEs for Auth Req Seq 1 is absent");) return; } } - if (status != eHAL_STATUS_SUCCESS) + if (status != eHAL_STATUS_SUCCESS) { PELOGE(limLog( pMac, LOGE, "%s: Change channel not successful for FT pre-auth");) return; @@ -335,7 +335,7 @@ void limPerformFTPreAuth(tpAniSirGlobal pMac, eHalStatus status, tANI_U32 *data, if (psessionEntry->is11Rconnection) { - // Now we are on the right channel and need to send out Auth1 and + // Now we are on the right channel and need to send out Auth1 and // receive Auth2. authFrame.authAlgoNumber = eSIR_FT_AUTH; // Set the auth type to FT } @@ -344,7 +344,7 @@ void limPerformFTPreAuth(tpAniSirGlobal pMac, eHalStatus status, tANI_U32 *data, { // Will need to make isCCXconnection a enum may be for further // improvements to this to match this algorithm number - authFrame.authAlgoNumber = eSIR_OPEN_SYSTEM; // For now if its CCX and 11r FT. + authFrame.authAlgoNumber = eSIR_OPEN_SYSTEM; // For now if its CCX and 11r FT. } #endif authFrame.authTransactionSeqNumber = SIR_MAC_AUTH_FRAME_1; @@ -379,8 +379,8 @@ MTRACE(macTrace(pMac, TRACE_CODE_TIMER_ACTIVATE, psessionEntry->peSessionId, eLI * The newly created ft Session entry is passed to this function * *------------------------------------------------------------------*/ -tSirRetStatus limFTPrepareAddBssReq( tpAniSirGlobal pMac, - tANI_U8 updateEntry, tpPESession pftSessionEntry, +tSirRetStatus limFTPrepareAddBssReq( tpAniSirGlobal pMac, + tANI_U8 updateEntry, tpPESession pftSessionEntry, tpSirBssDescription bssDescription ) { tpAddBssParams pAddBssParams = NULL; @@ -388,7 +388,7 @@ tSirRetStatus limFTPrepareAddBssReq( tpAniSirGlobal pMac, tANI_U8 chanWidthSupp = 0; tSchBeaconStruct *pBeaconStruct; - if(eHAL_STATUS_SUCCESS != palAllocateMemory(pMac->hHdd, + if(eHAL_STATUS_SUCCESS != palAllocateMemory(pMac->hHdd, (void **)&pBeaconStruct, sizeof(tSchBeaconStruct))) { limLog(pMac, LOGE, FL("Unable to PAL allocate memory for creating ADD_BSS") ); @@ -404,7 +404,7 @@ tSirRetStatus limFTPrepareAddBssReq( tpAniSirGlobal pMac, FL( "Unable to PAL allocate memory for creating ADD_BSS" )); return (eSIR_MEM_ALLOC_FAILED); } - + palZeroMemory( pMac->hHdd, (tANI_U8 *) pAddBssParams, sizeof( tAddBssParams )); @@ -426,10 +426,10 @@ tSirRetStatus limFTPrepareAddBssReq( tpAniSirGlobal pMac, pAddBssParams->operMode = BSS_OPERATIONAL_MODE_STA; pAddBssParams->beaconInterval = bssDescription->beaconInterval; - + pAddBssParams->dtimPeriod = pBeaconStruct->tim.dtimPeriod; pAddBssParams->updateBss = updateEntry; - + pAddBssParams->reassocReq = true; pAddBssParams->cfParamSet.cfpCount = pBeaconStruct->cfParamSet.cfpCount; pAddBssParams->cfParamSet.cfpPeriod = pBeaconStruct->cfParamSet.cfpPeriod; @@ -442,8 +442,8 @@ tSirRetStatus limFTPrepareAddBssReq( tpAniSirGlobal pMac, pBeaconStruct->supportedRates.rate, pBeaconStruct->supportedRates.numRates ); pAddBssParams->nwType = bssDescription->nwType; - - pAddBssParams->shortSlotTimeSupported = (tANI_U8)pBeaconStruct->capabilityInfo.shortSlotTime; + + pAddBssParams->shortSlotTimeSupported = (tANI_U8)pBeaconStruct->capabilityInfo.shortSlotTime; pAddBssParams->llaCoexist = (tANI_U8) pftSessionEntry->beaconParams.llaCoexist; pAddBssParams->llbCoexist = (tANI_U8) pftSessionEntry->beaconParams.llbCoexist; pAddBssParams->llgCoexist = (tANI_U8) pftSessionEntry->beaconParams.llgCoexist; @@ -516,7 +516,7 @@ tSirRetStatus limFTPrepareAddBssReq( tpAniSirGlobal pMac, else { pAddBssParams->staContext.txChannelWidthSet = WNI_CFG_CHANNEL_BONDING_MODE_DISABLE; - } + } pAddBssParams->staContext.mimoPS = (tSirMacHTMIMOPowerSaveState)pBeaconStruct->HTCaps.mimoPowerSave; pAddBssParams->staContext.delBASupport = ( tANI_U8 ) pBeaconStruct->HTCaps.delayedBA; pAddBssParams->staContext.maxAmsduSize = ( tANI_U8 ) pBeaconStruct->HTCaps.maximalAMSDUsize; @@ -525,7 +525,7 @@ tSirRetStatus limFTPrepareAddBssReq( tpAniSirGlobal pMac, pAddBssParams->staContext.fShortGI20Mhz = (tANI_U8)pBeaconStruct->HTCaps.shortGI20MHz; pAddBssParams->staContext.fShortGI40Mhz = (tANI_U8)pBeaconStruct->HTCaps.shortGI40MHz; pAddBssParams->staContext.maxAmpduSize= pBeaconStruct->HTCaps.maxRxAMPDUFactor; - + if( pBeaconStruct->HTInfo.present ) pAddBssParams->staContext.rifsMode = pBeaconStruct->HTInfo.rifsMode; } @@ -533,16 +533,16 @@ tSirRetStatus limFTPrepareAddBssReq( tpAniSirGlobal pMac, if ((pftSessionEntry->limWmeEnabled && pBeaconStruct->wmeEdcaPresent) || (pftSessionEntry->limQosEnabled && pBeaconStruct->edcaPresent)) pAddBssParams->staContext.wmmEnabled = 1; - else + else pAddBssParams->staContext.wmmEnabled = 0; //Update the rates #ifdef WLAN_FEATURE_11AC - limPopulateOwnRateSet(pMac, &pAddBssParams->staContext.supportedRates, - pBeaconStruct->HTCaps.supportedMCSSet, + limPopulateOwnRateSet(pMac, &pAddBssParams->staContext.supportedRates, + pBeaconStruct->HTCaps.supportedMCSSet, false,pftSessionEntry,&pBeaconStruct->VHTCaps); #else - limPopulateOwnRateSet(pMac, &pAddBssParams->staContext.supportedRates, + limPopulateOwnRateSet(pMac, &pAddBssParams->staContext.supportedRates, beaconStruct.HTCaps.supportedMCSSet, false,pftSessionEntry); #endif limFillSupportedRatesInfo(pMac, NULL, &pAddBssParams->staContext.supportedRates,pftSessionEntry); @@ -559,7 +559,7 @@ tSirRetStatus limFTPrepareAddBssReq( tpAniSirGlobal pMac, pAddBssParams->staContext.staTCParams[i].rxBApolicy = eBA_POLICY_IMMEDIATE; } -#if defined WLAN_FEATURE_VOWIFI +#if defined WLAN_FEATURE_VOWIFI pAddBssParams->maxTxPower = pftSessionEntry->maxTxPower; #endif @@ -568,13 +568,13 @@ tSirRetStatus limFTPrepareAddBssReq( tpAniSirGlobal pMac, pAddBssParams->staContext.sessionId = pftSessionEntry->peSessionId; pAddBssParams->sessionId = pftSessionEntry->peSessionId; - + // Set a new state for MLME pftSessionEntry->limMlmState = eLIM_MLM_WT_ADD_BSS_RSP_FT_REASSOC_STATE; MTRACE(macTrace(pMac, TRACE_CODE_MLM_STATE, pftSessionEntry->peSessionId, eLIM_MLM_WT_ADD_BSS_RSP_FT_REASSOC_STATE)); pAddBssParams->halPersona=(tANI_U8)pftSessionEntry->pePersona; //pass on the session persona to hal - + pMac->ft.ftPEContext.pAddBssReq = pAddBssParams; #if defined WLAN_FEATURE_VOWIFI_11R_DEBUG @@ -587,7 +587,7 @@ tSirRetStatus limFTPrepareAddBssReq( tpAniSirGlobal pMac, /*------------------------------------------------------------------ * - * Setup the new session for the pre-auth AP. + * Setup the new session for the pre-auth AP. * Return the newly created session entry. * *------------------------------------------------------------------*/ @@ -600,7 +600,7 @@ tpPESession limFillFTSession(tpAniSirGlobal pMac, tPowerdBm regMax; tSchBeaconStruct *pBeaconStruct; - if(eHAL_STATUS_SUCCESS != palAllocateMemory(pMac->hHdd, + if(eHAL_STATUS_SUCCESS != palAllocateMemory(pMac->hHdd, (void **)&pBeaconStruct, sizeof(tSchBeaconStruct))) { limLog(pMac, LOGE, FL("Unable to PAL allocate memory for creating limFillFTSession") ); @@ -608,7 +608,7 @@ tpPESession limFillFTSession(tpAniSirGlobal pMac, } - + /* Retrieve the session that has already been created and update the entry */ pftSessionEntry = pMac->ft.ftPEContext.pftSessionEntry; #if defined WLAN_FEATURE_VOWIFI_11R_DEBUG || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR) @@ -624,9 +624,9 @@ tpPESession limFillFTSession(tpAniSirGlobal pMac, pftSessionEntry->lim11hEnable = psessionEntry->lim11hEnable; // Fields to be filled later - pftSessionEntry->pLimJoinReq = NULL; - pftSessionEntry->smeSessionId = 0; - pftSessionEntry->transactionId = 0; + pftSessionEntry->pLimJoinReq = NULL; + pftSessionEntry->smeSessionId = 0; + pftSessionEntry->transactionId = 0; limExtractApCapabilities( pMac, (tANI_U8 *) pbssDescription->ieFields, @@ -638,7 +638,7 @@ tpPESession limFillFTSession(tpAniSirGlobal pMac, pBeaconStruct->supportedRates.rate, pBeaconStruct->supportedRates.numRates ); pftSessionEntry->extRateSet.numRates = pBeaconStruct->extendedRates.numRates; - palCopyMemory(pMac->hHdd, pftSessionEntry->extRateSet.rate, + palCopyMemory(pMac->hHdd, pftSessionEntry->extRateSet.rate, pBeaconStruct->extendedRates.rate, pftSessionEntry->extRateSet.numRates); @@ -664,8 +664,8 @@ tpPESession limFillFTSession(tpAniSirGlobal pMac, /* Copy The channel Id to the session Table */ pftSessionEntry->limReassocChannelId = pbssDescription->channelId; pftSessionEntry->currentOperChannel = pbssDescription->channelId; - - + + if (pftSessionEntry->bssType == eSIR_INFRASTRUCTURE_MODE) { pftSessionEntry->limSystemRole = eLIM_STA_ROLE; @@ -675,11 +675,11 @@ tpPESession limFillFTSession(tpAniSirGlobal pMac, pftSessionEntry->limSystemRole = eLIM_BT_AMP_STA_ROLE; } else - { + { /* Throw an error and return and make sure to delete the session.*/ limLog(pMac, LOGE, FL("Invalid bss type")); - } - + } + pftSessionEntry->limCurrentBssCaps = pbssDescription->capabilityInfo; pftSessionEntry->limReassocBssCaps = pbssDescription->capabilityInfo; if( pMac->roam.configParam.shortSlotTime && @@ -688,9 +688,9 @@ tpPESession limFillFTSession(tpAniSirGlobal pMac, pftSessionEntry->shortSlotTimeSupported = TRUE; } - regMax = cfgGetRegulatoryMaxTransmitPower( pMac, pftSessionEntry->currentOperChannel ); + regMax = cfgGetRegulatoryMaxTransmitPower( pMac, pftSessionEntry->currentOperChannel ); localPowerConstraint = regMax; - limExtractApCapability( pMac, (tANI_U8 *) pbssDescription->ieFields, + limExtractApCapability( pMac, (tANI_U8 *) pbssDescription->ieFields, limGetIElenFromBssDescription(pbssDescription), &pftSessionEntry->limCurrentBssQosCaps, &pftSessionEntry->limCurrentBssPropCap, @@ -727,7 +727,7 @@ tpPESession limFillFTSession(tpAniSirGlobal pMac, /*------------------------------------------------------------------ * - * Setup the session and the add bss req for the pre-auth AP. + * Setup the session and the add bss req for the pre-auth AP. * *------------------------------------------------------------------*/ void limFTSetupAuthSession(tpAniSirGlobal pMac, tpPESession psessionEntry) @@ -748,16 +748,16 @@ void limFTSetupAuthSession(tpAniSirGlobal pMac, tpPESession psessionEntry) #endif #ifdef FEATURE_WLAN_LFR - pftSessionEntry->isFastRoamIniFeatureEnabled = psessionEntry->isFastRoamIniFeatureEnabled; + pftSessionEntry->isFastRoamIniFeatureEnabled = psessionEntry->isFastRoamIniFeatureEnabled; #endif - limFTPrepareAddBssReq( pMac, FALSE, pftSessionEntry, + limFTPrepareAddBssReq( pMac, FALSE, pftSessionEntry, pMac->ft.ftPEContext.pFTPreAuthReq->pbssDescription ); pMac->ft.ftPEContext.pftSessionEntry = pftSessionEntry; } } /*------------------------------------------------------------------ - * Resume Link Call Back + * Resume Link Call Back *------------------------------------------------------------------*/ void limFTProcessPreAuthResult(tpAniSirGlobal pMac, eHalStatus status, tANI_U32 *data) { @@ -778,18 +778,18 @@ void limFTProcessPreAuthResult(tpAniSirGlobal pMac, eHalStatus status, tANI_U32 } /*------------------------------------------------------------------ - * Resume Link Call Back + * Resume Link Call Back *------------------------------------------------------------------*/ -void limPerformPostFTPreAuthAndChannelChange(tpAniSirGlobal pMac, eHalStatus status, tANI_U32 *data, +void limPerformPostFTPreAuthAndChannelChange(tpAniSirGlobal pMac, eHalStatus status, tANI_U32 *data, tpPESession psessionEntry) { - //Set the resume channel to Any valid channel (invalid). + //Set the resume channel to Any valid channel (invalid). //This will instruct HAL to set it to any previous valid channel. peSetResumeChannel(pMac, 0, 0); limResumeLink(pMac, limFTProcessPreAuthResult, (tANI_U32 *)psessionEntry); } -tSirRetStatus limCreateRICBlockAckIE(tpAniSirGlobal pMac, tANI_U8 tid, tCfgTrafficClass *pTrafficClass, +tSirRetStatus limCreateRICBlockAckIE(tpAniSirGlobal pMac, tANI_U8 tid, tCfgTrafficClass *pTrafficClass, tANI_U8 *ric_ies, tANI_U32 *ieLength) { /* BlockACK + RIC is not supported now, TODO later to support this */ @@ -845,18 +845,18 @@ tSirRetStatus limFTFillRICBlockAckInfo(tpAniSirGlobal pMac, tANI_U8 *ric_ies, tA tpPESession psessionEntry = pMac->ft.ftPEContext.psavedsessionEntry; tANI_U32 offset = 0, ieLength = 0; tSirRetStatus status = eSIR_SUCCESS; - + // First, extract the DPH entry pSta = dphLookupHashEntry( pMac, pMac->ft.ftPEContext.pFTPreAuthReq->currbssId, &aid, &psessionEntry->dph.dphHashTable); if( NULL == pSta ) { PELOGE(limLog( pMac, LOGE, FL( "STA context not found for saved session's BSSID %02x:%02x:%02x:%02x:%02x:%02x" ), - pMac->ft.ftPEContext.pFTPreAuthReq->currbssId[0], - pMac->ft.ftPEContext.pFTPreAuthReq->currbssId[1], - pMac->ft.ftPEContext.pFTPreAuthReq->currbssId[2], - pMac->ft.ftPEContext.pFTPreAuthReq->currbssId[3], - pMac->ft.ftPEContext.pFTPreAuthReq->currbssId[4], + pMac->ft.ftPEContext.pFTPreAuthReq->currbssId[0], + pMac->ft.ftPEContext.pFTPreAuthReq->currbssId[1], + pMac->ft.ftPEContext.pFTPreAuthReq->currbssId[2], + pMac->ft.ftPEContext.pFTPreAuthReq->currbssId[3], + pMac->ft.ftPEContext.pFTPreAuthReq->currbssId[4], pMac->ft.ftPEContext.pFTPreAuthReq->currbssId[5] );) return eSIR_FAILURE; } @@ -900,7 +900,7 @@ void limPostFTPreAuthRsp(tpAniSirGlobal pMac, tSirRetStatus status, { tpSirFTPreAuthRsp pFTPreAuthRsp; tSirMsgQ mmhMsg; - tANI_U16 rspLen = sizeof(tSirFTPreAuthRsp); + tANI_U16 rspLen = sizeof(tSirFTPreAuthRsp); // TODO: RIC Support //tSirRetStatus sirStatus = eSIR_SUCCESS; @@ -915,7 +915,7 @@ void limPostFTPreAuthRsp(tpAniSirGlobal pMac, tSirRetStatus status, #if defined WLAN_FEATURE_VOWIFI_11R_DEBUG PELOGE(limLog( pMac, LOG1, "%s: Auth Rsp = %p", pFTPreAuthRsp);) #endif - + palZeroMemory(pMac, (tANI_U8*)pFTPreAuthRsp, rspLen); pFTPreAuthRsp->messageType = eWNI_SME_FT_PRE_AUTH_RSP; pFTPreAuthRsp->length = (tANI_U16) rspLen; @@ -925,24 +925,24 @@ void limPostFTPreAuthRsp(tpAniSirGlobal pMac, tSirRetStatus status, // The bssid of the AP we are sending Auth1 to. if (pMac->ft.ftPEContext.pFTPreAuthReq) - sirCopyMacAddr(pFTPreAuthRsp->preAuthbssId, + sirCopyMacAddr(pFTPreAuthRsp->preAuthbssId, pMac->ft.ftPEContext.pFTPreAuthReq->preAuthbssId); - + // Attach the auth response now back to SME pFTPreAuthRsp->ft_ies_length = 0; if ((auth_rsp != NULL) && (auth_rsp_length < MAX_FTIE_SIZE)) { // Only 11r assoc has FT IEs. - vos_mem_copy(pFTPreAuthRsp->ft_ies, auth_rsp, auth_rsp_length); + vos_mem_copy(pFTPreAuthRsp->ft_ies, auth_rsp, auth_rsp_length); pFTPreAuthRsp->ft_ies_length = auth_rsp_length; } - + #ifdef WLAN_FEATURE_VOWIFI_11R if ((psessionEntry) && (psessionEntry->is11Rconnection)) { /* TODO: RIC SUPPORT Fill in the Block Ack RIC IEs in the preAuthRsp */ /* - sirStatus = limFTFillRICBlockAckInfo(pMac, pFTPreAuthRsp->ric_ies, + sirStatus = limFTFillRICBlockAckInfo(pMac, pFTPreAuthRsp->ric_ies, (tANI_U32 *)&pFTPreAuthRsp->ric_ies_length); if (eSIR_SUCCESS != sirStatus) { @@ -951,7 +951,7 @@ void limPostFTPreAuthRsp(tpAniSirGlobal pMac, tSirRetStatus status, */ } #endif - + mmhMsg.type = pFTPreAuthRsp->messageType; mmhMsg.bodyptr = pFTPreAuthRsp; mmhMsg.bodyval = 0; @@ -967,7 +967,7 @@ void limPostFTPreAuthRsp(tpAniSirGlobal pMac, tSirRetStatus status, * Send the FT Pre Auth Response to SME when ever we have a status * ready to be sent to SME * - * SME will be the one to send it up to the supplicant to receive + * SME will be the one to send it up to the supplicant to receive * FTIEs which will be required for Reassoc Req. * *------------------------------------------------------------------*/ @@ -981,15 +981,15 @@ void limHandleFTPreAuthRsp(tpAniSirGlobal pMac, tSirRetStatus status, tpSirBssDescription pbssDescription; // Save the status of pre-auth - pMac->ft.ftPEContext.ftPreAuthStatus = status; + pMac->ft.ftPEContext.ftPreAuthStatus = status; - // Save the auth rsp, so we can send it to - // SME once we resume link. - pMac->ft.ftPEContext.saved_auth_rsp_length = 0; + // Save the auth rsp, so we can send it to + // SME once we resume link. + pMac->ft.ftPEContext.saved_auth_rsp_length = 0; if ((auth_rsp != NULL) && (auth_rsp_length < MAX_FTIE_SIZE)) { vos_mem_copy(pMac->ft.ftPEContext.saved_auth_rsp, - auth_rsp, auth_rsp_length); + auth_rsp, auth_rsp_length); pMac->ft.ftPEContext.saved_auth_rsp_length = auth_rsp_length; } @@ -1033,14 +1033,14 @@ void limHandleFTPreAuthRsp(tpAniSirGlobal pMac, tSirRetStatus status, limPrintMacAddr(pMac, psessionEntry->limReAssocbssId, LOGE); } - if (psessionEntry->currentOperChannel != - pMac->ft.ftPEContext.pFTPreAuthReq->preAuthchannelNum) + if (psessionEntry->currentOperChannel != + pMac->ft.ftPEContext.pFTPreAuthReq->preAuthchannelNum) { // Need to move to the original AP channel - limChangeChannelWithCallback(pMac, psessionEntry->currentOperChannel, + limChangeChannelWithCallback(pMac, psessionEntry->currentOperChannel, limPerformPostFTPreAuthAndChannelChange, NULL, psessionEntry); } - else + else { #ifdef WLAN_FEATURE_VOWIFI_11R_DEBUG PELOGE(limLog( pMac, LOGE, "Pre auth on same channel as connected AP channel %d", @@ -1208,7 +1208,7 @@ void limProcessFTPreauthRspTimeout(tpAniSirGlobal pMac) // We have failed pre auth. We need to resume link and get back on // home channel. - if((psessionEntry = peFindSessionBySessionId(pMac, pMac->lim.limTimers.gLimFTPreAuthRspTimer.sessionId))== NULL) + if((psessionEntry = peFindSessionBySessionId(pMac, pMac->lim.limTimers.gLimFTPreAuthRspTimer.sessionId))== NULL) { limLog(pMac, LOGE, FL("Session Does not exist for given sessionID")); return; @@ -1303,7 +1303,7 @@ limProcessFTAggrQosReq(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf ) tpAggrAddTsParams pAggrAddTsParam; tpPESession psessionEntry = NULL; tpLimTspecInfo tspecInfo; - tANI_U8 ac; + tANI_U8 ac; tpDphHashNode pSta; tANI_U16 aid; tANI_U8 sessionId; @@ -1342,16 +1342,16 @@ limProcessFTAggrQosReq(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf ) for( i = 0; i < HAL_QOS_NUM_AC_MAX; i++ ) { - if (aggrQosReq->aggrInfo.tspecIdx & (1<<i)) + if (aggrQosReq->aggrInfo.tspecIdx & (1<<i)) { tSirMacTspecIE *pTspec = &aggrQosReq->aggrInfo.aggrAddTsInfo[i].tspec; /* Since AddTS response was successful, check for the PSB flag - * and directional flag inside the TS Info field. - * An AC is trigger enabled AC if the PSB subfield is set to 1 + * and directional flag inside the TS Info field. + * An AC is trigger enabled AC if the PSB subfield is set to 1 * in the uplink direction. - * An AC is delivery enabled AC if the PSB subfield is set to 1 + * An AC is delivery enabled AC if the PSB subfield is set to 1 * in the downlink direction. - * An AC is trigger and delivery enabled AC if the PSB subfield + * An AC is trigger and delivery enabled AC if the PSB subfield * is set to 1 in the bi-direction field. */ if(!pMac->psOffloadEnabled) @@ -1425,11 +1425,11 @@ limProcessFTAggrQosReq(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf ) limSetActiveEdcaParams(pMac, psessionEntry->gLimEdcaParams, psessionEntry); - if (pSta->aniPeer == eANI_BOOLEAN_TRUE) + if (pSta->aniPeer == eANI_BOOLEAN_TRUE) { limSendEdcaParams(pMac, psessionEntry->gLimEdcaParamsActive, pSta->bssId, eANI_BOOLEAN_TRUE); } - else + else { limSendEdcaParams(pMac, psessionEntry->gLimEdcaParamsActive, pSta->bssId, eANI_BOOLEAN_FALSE); } @@ -1593,14 +1593,14 @@ int limisFastTransitionRequired(tpAniSirGlobal pMac, int sessionId) { // If ccx or 11r connection is found we need to return TRUE if((pMac->lim.gpSession[sessionId].bssType == eSIR_INFRASTRUCTURE_MODE) && - (((pMac->lim.gpSession[sessionId].is11Rconnection) + (((pMac->lim.gpSession[sessionId].is11Rconnection) #ifdef FEATURE_WLAN_CCX || (pMac->lim.gpSession[sessionId].isCCXconnection) #endif #ifdef FEATURE_WLAN_LFR || (pMac->lim.gpSession[sessionId].isFastRoamIniFeatureEnabled) #endif - )&& + )&& pMac->lim.gpSession[sessionId].isFastTransitionEnabled)) { // Make sure we have 11r/CCX and FT enabled only then we need diff --git a/CORE/MAC/src/pe/lim/limLogDump.c b/CORE/MAC/src/pe/lim/limLogDump.c index cbb3a47630a6..1b7f1c83c374 100644 --- a/CORE/MAC/src/pe/lim/limLogDump.c +++ b/CORE/MAC/src/pe/lim/limLogDump.c @@ -28,7 +28,7 @@ /*============================================================================ limLogDump.c -Implements the dump commands specific to the lim module. +Implements the dump commands specific to the lim module. Copyright (c) 2007 Qualcomm Technologies, Inc. All Rights Reserved. @@ -301,16 +301,16 @@ char *dumpLim( tpAniSirGlobal pMac, char *p, tANI_U32 sessionId) char *triggerBeaconGen( tpAniSirGlobal pMac, char *p ) { tSirMsgQ mesg = { (tANI_U16) SIR_LIM_BEACON_GEN_IND, (tANI_U16) 0, (tANI_U32) 0 }; - + pMac->lim.gLimSmeState = eLIM_SME_NORMAL_STATE; MTRACE(macTrace(pMac, TRACE_CODE_SME_STATE, NO_SESSION, pMac->lim.gLimSmeState)); pMac->lim.gLimSystemRole = eLIM_AP_ROLE; - + p += log_sprintf( pMac, p, "Posted SIR_LIM_BEACON_GEN_IND with result = %s\n", (eSIR_SUCCESS == limPostMsgApi( pMac, &mesg ))? "Success": "Failure" ); - + return p; } @@ -376,7 +376,15 @@ static char *sendSmeScanReq(tpAniSirGlobal pMac, char *p) pScanReq->scanType = eSIR_ACTIVE_SCAN; pScanReq->returnAfterFirstMatch = 0; pScanReq->returnUniqueResults = 0; - pScanReq->returnFreshResults = SIR_BG_SCAN_PURGE_RESUTLS|SIR_BG_SCAN_RETURN_FRESH_RESULTS; + /* Original code: + * pScanReq->returnFreshResults = SIR_BG_SCAN_PURGE_RESUTLS|SIR_BG_SCAN_RETURN_FRESH_RESULTS; + * + * Do not purge while starting a scan. Rome firmware sends results of + * roaming scan as normal entries. They land up in this scan cache. + * We should not lose those entries. + * This cached should be purged after filling in a query. + */ + pScanReq->returnFreshResults = SIR_BG_SCAN_RETURN_FRESH_RESULTS; pScanReq->channelList.numChannels = 1; pScanReq->channelList.channelNumber[0] = 6; pScanReq->uIEFieldLen = 0; @@ -451,7 +459,7 @@ static char *sendSmeDisAssocReq(tpAniSirGlobal pMac, char *p,tANI_U32 arg1 ,tANI pDisAssocReq->sessionId = 0; - pDisAssocReq->transactionId = 0; + pDisAssocReq->transactionId = 0; msg.type = eWNI_SME_DISASSOC_REQ; msg.bodyptr = pDisAssocReq; @@ -473,7 +481,7 @@ static char *sendSmeStartBssReq(tpAniSirGlobal pMac, char *p,tANI_U32 arg1) tSirNwType nwType; p += log_sprintf( pMac,p, "sendSmeStartBssReq: Preparing eWNI_SME_START_BSS_REQ message\n"); - + if(arg1 > 2) { p += log_sprintf( pMac,p,"Invalid Argument1 \n"); @@ -488,19 +496,19 @@ static char *sendSmeStartBssReq(tpAniSirGlobal pMac, char *p,tANI_U32 arg1) pStartBssReq->messageType = eWNI_SME_START_BSS_REQ; pStartBssReq->length = 29; // 0x1d - - if(arg1 == 0) //BTAMP STATION + + if(arg1 == 0) //BTAMP STATION { pStartBssReq->bssType = eSIR_BTAMP_STA_MODE; pStartBssReq->ssId.length = 5; - palCopyMemory(pMac->hHdd, (void *) &pStartBssReq->ssId.ssId, (void *)"BTSTA", 5); + palCopyMemory(pMac->hHdd, (void *) &pStartBssReq->ssId.ssId, (void *)"BTSTA", 5); } - else if(arg1 == 1) //BTAMP AP + else if(arg1 == 1) //BTAMP AP { pStartBssReq->bssType = eSIR_BTAMP_AP_MODE; pStartBssReq->ssId.length = 4; - palCopyMemory(pMac->hHdd, (void *) &pStartBssReq->ssId.ssId, (void *)"BTAP", 4); + palCopyMemory(pMac->hHdd, (void *) &pStartBssReq->ssId.ssId, (void *)"BTAP", 4); } else //IBSS { @@ -528,7 +536,7 @@ static char *sendSmeStartBssReq(tpAniSirGlobal pMac, char *p,tANI_U32 arg1) palCopyMemory( pMac->hHdd, pBuf, (tANI_U8 *)&nwType, sizeof(tSirNwType) ); pBuf += sizeof(tSirNwType); - /* ---- To be filled by LIM later ---- + /* ---- To be filled by LIM later ---- pStartBssReq->operationalRateSet pStartBssReq->extendedRateSet pStartBssReq->dot11mode @@ -536,7 +544,7 @@ static char *sendSmeStartBssReq(tpAniSirGlobal pMac, char *p,tANI_U32 arg1) pStartBssReq->selfMacAddr pStartBssReq->beaconInterval pStartBssReq->sessionId = 0; - pStartBssReq->transactionId = 0; + pStartBssReq->transactionId = 0; * ------------------------------------ */ msg.type = eWNI_SME_START_BSS_REQ; @@ -573,11 +581,11 @@ static char *sendSmeStopBssReq(tpAniSirGlobal pMac, char *p, tANI_U32 sessionId) pStopBssReq->messageType = eWNI_SME_STOP_BSS_REQ; msgLen += sizeof(tANI_U32); // msgType + length - + pStopBssReq->reasonCode = eSIR_SME_SUCCESS; msgLen += sizeof(tSirResultCodes); - palCopyMemory(pMac->hHdd, (void *) &pStopBssReq->bssId, (void *)psessionEntry->bssId, 6); + palCopyMemory(pMac->hHdd, (void *) &pStopBssReq->bssId, (void *)psessionEntry->bssId, 6); msgLen += sizeof(tSirMacAddr); pStopBssReq->sessionId = (tANI_U8)sessionId; @@ -605,36 +613,36 @@ static char *sendSmeJoinReq(tpAniSirGlobal pMac, char *p) tANI_U16 msgLen = 307; tANI_U8 msgDump[307] = { - 0x06, 0x12, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, - 0xDE, 0xAD, 0xBA, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x64, 0x00, 0x21, 0x04, 0x02, 0x00, 0x00, - 0x00, 0x01, 0x1E, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x18, - 0x00, 0x00, 0x00, 0xA8, 0x85, 0x4F, 0x7A, 0x00, 0x06, 0x41, - 0x6E, 0x69, 0x4E, 0x65, 0x74, 0x01, 0x04, 0x82, 0x84, 0x8B, - 0x96, 0x03, 0x01, 0x06, 0x07, 0x06, 0x55, 0x53, 0x49, 0x01, - 0x0E, 0x1E, 0x2A, 0x01, 0x00, 0x32, 0x08, 0x0C, 0x12, 0x18, - 0x24, 0x30, 0x48, 0x60, 0x6C, 0x2D, 0x1A, 0xEE, 0x11, 0x03, - 0xFF, 0xFF, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x3D, 0x16, 0x06, 0x07, 0x11, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x18, 0x00, - 0x50, 0xF2, 0x02, 0x01, 0x01, 0x01, 0x00, 0x03, 0xA4, 0x00, - 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, - 0x32, 0x2F, 0x00, 0xDD, 0x14, 0x00, 0x0A, 0xF5, 0x00, 0x03, - 0x01, 0x03, 0x05, 0x0A, 0x02, 0x80, 0xC0, 0x12, 0x06, 0xFF, - 0xFF, 0xFF, 0xFF, 0xB6, 0x0D, 0xDD, 0x6E, 0x00, 0x50, 0xF2, - 0x04, 0x10, 0x4A, 0x00, 0x01, 0x10, 0x10, 0x44, 0x00, 0x01, - 0x01, 0x10, 0x3B, 0x00, 0x01, 0x03, 0x10, 0x47, 0x00, 0x10, - 0xDB, 0xC6, 0x77, 0x28, 0xB9, 0xF3, 0xD8, 0x58, 0x86, 0xFF, - 0xFC, 0x6B, 0xB6, 0xB9, 0x27, 0x79, 0x10, 0x21, 0x00, 0x08, - 0x51, 0x75, 0x61, 0x6C, 0x63, 0x6F, 0x6D, 0x6D, 0x10, 0x23, + 0x06, 0x12, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, + 0xDE, 0xAD, 0xBA, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x64, 0x00, 0x21, 0x04, 0x02, 0x00, 0x00, + 0x00, 0x01, 0x1E, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x18, + 0x00, 0x00, 0x00, 0xA8, 0x85, 0x4F, 0x7A, 0x00, 0x06, 0x41, + 0x6E, 0x69, 0x4E, 0x65, 0x74, 0x01, 0x04, 0x82, 0x84, 0x8B, + 0x96, 0x03, 0x01, 0x06, 0x07, 0x06, 0x55, 0x53, 0x49, 0x01, + 0x0E, 0x1E, 0x2A, 0x01, 0x00, 0x32, 0x08, 0x0C, 0x12, 0x18, + 0x24, 0x30, 0x48, 0x60, 0x6C, 0x2D, 0x1A, 0xEE, 0x11, 0x03, + 0xFF, 0xFF, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3D, 0x16, 0x06, 0x07, 0x11, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x18, 0x00, + 0x50, 0xF2, 0x02, 0x01, 0x01, 0x01, 0x00, 0x03, 0xA4, 0x00, + 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, + 0x32, 0x2F, 0x00, 0xDD, 0x14, 0x00, 0x0A, 0xF5, 0x00, 0x03, + 0x01, 0x03, 0x05, 0x0A, 0x02, 0x80, 0xC0, 0x12, 0x06, 0xFF, + 0xFF, 0xFF, 0xFF, 0xB6, 0x0D, 0xDD, 0x6E, 0x00, 0x50, 0xF2, + 0x04, 0x10, 0x4A, 0x00, 0x01, 0x10, 0x10, 0x44, 0x00, 0x01, + 0x01, 0x10, 0x3B, 0x00, 0x01, 0x03, 0x10, 0x47, 0x00, 0x10, + 0xDB, 0xC6, 0x77, 0x28, 0xB9, 0xF3, 0xD8, 0x58, 0x86, 0xFF, + 0xFC, 0x6B, 0xB6, 0xB9, 0x27, 0x79, 0x10, 0x21, 0x00, 0x08, + 0x51, 0x75, 0x61, 0x6C, 0x63, 0x6F, 0x6D, 0x6D, 0x10, 0x23, 0x00, 0x07, 0x57, 0x46, 0x52, 0x34, 0x30, 0x33, 0x31, 0x10, - 0x24, 0x00, 0x06, 0x4D, 0x4E, 0x31, 0x32, 0x33, 0x34, 0x10, - 0x42, 0x00, 0x06, 0x53, 0x4E, 0x31, 0x32, 0x33, 0x34, 0x10, - 0x54, 0x00, 0x08, 0x00, 0x06, 0x00, 0x50, 0xF2, 0x04, 0x00, - 0x01, 0x10, 0x11, 0x00, 0x06, 0x31, 0x31, 0x6E, 0x2D, 0x41, + 0x24, 0x00, 0x06, 0x4D, 0x4E, 0x31, 0x32, 0x33, 0x34, 0x10, + 0x42, 0x00, 0x06, 0x53, 0x4E, 0x31, 0x32, 0x33, 0x34, 0x10, + 0x54, 0x00, 0x08, 0x00, 0x06, 0x00, 0x50, 0xF2, 0x04, 0x00, + 0x01, 0x10, 0x11, 0x00, 0x06, 0x31, 0x31, 0x6E, 0x2D, 0x41, 0x50, 0x10, 0x08, 0x00, 0x02, 0x01, 0x8E }; @@ -658,7 +666,7 @@ static char *sendSmeJoinReq(tpAniSirGlobal pMac, char *p) static char *printSessionInfo(tpAniSirGlobal pMac, char *p) { - tpPESession psessionEntry = &pMac->lim.gpSession[0]; + tpPESession psessionEntry = &pMac->lim.gpSession[0]; tANI_U8 i; p += log_sprintf( pMac, p, "Dump PE Session \n"); @@ -667,16 +675,16 @@ static char *printSessionInfo(tpAniSirGlobal pMac, char *p) { if( pMac->lim.gpSession[i].valid ) { - psessionEntry = &pMac->lim.gpSession[i]; + psessionEntry = &pMac->lim.gpSession[i]; p += log_sprintf( pMac,p, "*****************************************\n"); - p += log_sprintf( pMac,p, " PE Session [%d] \n", i); + p += log_sprintf( pMac,p, " PE Session [%d] \n", i); p += log_sprintf( pMac,p, "available: %d \n", psessionEntry->available); - p += log_sprintf( pMac,p, "peSessionId: %d, smeSessionId: %d, transactionId: %d \n", + p += log_sprintf( pMac,p, "peSessionId: %d, smeSessionId: %d, transactionId: %d \n", psessionEntry->peSessionId, psessionEntry->smeSessionId, psessionEntry->smeSessionId); - p += log_sprintf( pMac,p, "bssId: %02X:%02X:%02X:%02X:%02X:%02X \n", + p += log_sprintf( pMac,p, "bssId: %02X:%02X:%02X:%02X:%02X:%02X \n", psessionEntry->bssId[0], psessionEntry->bssId[1], psessionEntry->bssId[2], psessionEntry->bssId[3], psessionEntry->bssId[4], psessionEntry->bssId[5]); - p += log_sprintf( pMac,p, "selfMacAddr: %02X:%02X:%02X:%02X:%02X:%02X \n", + p += log_sprintf( pMac,p, "selfMacAddr: %02X:%02X:%02X:%02X:%02X:%02X \n", psessionEntry->selfMacAddr[0], psessionEntry->selfMacAddr[1], psessionEntry->selfMacAddr[2], psessionEntry->selfMacAddr[3], psessionEntry->selfMacAddr[4], psessionEntry->selfMacAddr[5]); p += log_sprintf( pMac,p, "bssIdx: %d \n", psessionEntry->bssIdx); @@ -698,7 +706,7 @@ static char *printSessionInfo(tpAniSirGlobal pMac, char *p) p += log_sprintf( pMac,p, "limCurrentBssPropCap: %d \n", psessionEntry->limCurrentBssPropCap); p += log_sprintf( pMac,p, "limSentCapsChangeNtf: %d \n", psessionEntry->limSentCapsChangeNtf); p += log_sprintf( pMac,p, "LimAID: %d \n", psessionEntry->limAID); - p += log_sprintf( pMac,p, "ReassocbssId: %02X:%02X:%02X:%02X:%02X:%02X \n", + p += log_sprintf( pMac,p, "ReassocbssId: %02X:%02X:%02X:%02X:%02X:%02X \n", psessionEntry->limReAssocbssId[0], psessionEntry->limReAssocbssId[1], psessionEntry->limReAssocbssId[2], psessionEntry->limReAssocbssId[3], psessionEntry->limReAssocbssId[4], psessionEntry->limReAssocbssId[5]); p += log_sprintf( pMac,p, "limReassocChannelId: %d \n", psessionEntry->limReassocChannelId); @@ -724,7 +732,7 @@ static char * limDumpEdcaParams(tpAniSirGlobal pMac, char *p) { tANI_U8 i = 0; - tpPESession psessionEntry = &pMac->lim.gpSession[0]; //TBD-RAJESH HOW TO GET sessionEntry????? + tpPESession psessionEntry = &pMac->lim.gpSession[0]; //TBD-RAJESH HOW TO GET sessionEntry????? p += log_sprintf( pMac,p, "EDCA parameter set count = %d\n", psessionEntry->gLimEdcaParamSetCount); p += log_sprintf( pMac,p, "Broadcast parameters\n"); p += log_sprintf( pMac,p, "AC\tACI\tACM\tAIFSN\tCWMax\tCWMin\tTxopLimit\t\n"); @@ -840,11 +848,11 @@ static char* limDumpDphTableSummary(tpAniSirGlobal pMac,char *p) pMac->lim.gpSession[j].dph.dphHashTable.pDphNodeArray[i].staAddr[4], pMac->lim.gpSession[j].dph.dphHashTable.pDphNodeArray[i].staAddr[5]); } - } - } + } + } } return p; -} +} // add the specified tspec to the tspec list static char* limDumpTsecTable( tpAniSirGlobal pMac, char* p) @@ -1100,7 +1108,7 @@ dump_lim_del_sta( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI_U32 ar p += log_sprintf( pMac,p, "Could not find station with assocId = %d\n", arg1); return p; } - + if (pStaDs->mlmStaContext.mlmState != eLIM_MLM_LINK_ESTABLISHED_STATE) { p += log_sprintf( pMac,p, "received Disassoc frame from peer that is in state %X \n", pStaDs->mlmStaContext.mlmState); @@ -1369,17 +1377,17 @@ dump_lim_AddBA_DeclineStat( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, t if (arg1 > 1) { log_sprintf( pMac,p, "%s:Invalid Value is entered for Enable/Disable \n", __func__ ); arg1 &= 1; - } - + } + val = pMac->lim.gAddBA_Declined; - + if (arg2 > 7) { log_sprintf( pMac,p, "%s:Invalid Value is entered for Tid \n", __func__ ); Tid = arg2 & 0x7; } else Tid = arg2; - - + + if ( Enable) val |= Enable << Tid; else @@ -1427,7 +1435,7 @@ static char* dump_lim_update_cb_Mode(tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U3 psessionEntry->htRecommendedTxWidthSet = psessionEntry->htSupportedChannelWidthSet; psessionEntry->htSecondaryChannelOffset = arg2; - if(eSIR_SUCCESS != cfgSetInt(pMac, WNI_CFG_CHANNEL_BONDING_MODE, + if(eSIR_SUCCESS != cfgSetInt(pMac, WNI_CFG_CHANNEL_BONDING_MODE, arg2 ? WNI_CFG_CHANNEL_BONDING_MODE_ENABLE : WNI_CFG_CHANNEL_BONDING_MODE_DISABLE)) p += log_sprintf(pMac,p, "cfgSetInt failed for WNI_CFG_CHANNEL_BONDING_MODE\n"); @@ -1447,7 +1455,7 @@ static char* dump_lim_abort_scan(tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 ar (void) arg1; (void) arg2; (void) arg3; (void) arg4; //csrScanAbortMacScan(pMac); return p; - + } static char* dump_lim_start_stop_bg_scan(tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI_U32 arg3, tANI_U32 arg4, char *p) @@ -1481,10 +1489,10 @@ static char* dump_lim_start_stop_bg_scan(tpAniSirGlobal pMac, tANI_U32 arg1, tAN pMac->lim.gLimForceBackgroundScanDisable = true; } return p; - + } -static char* +static char* dump_lim_get_pe_statistics(tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI_U32 arg3, tANI_U32 arg4, char *p) { eHalStatus status = eHAL_STATUS_SUCCESS; @@ -1493,9 +1501,9 @@ dump_lim_get_pe_statistics(tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tA (void) arg2; (void) arg3; (void) arg4; - + switch(arg1) - { + { case 1: statsMask = PE_SUMMARY_STATS_INFO; break; @@ -1514,7 +1522,7 @@ dump_lim_get_pe_statistics(tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tA default: return p; } - + if( eHAL_STATUS_SUCCESS != (status = palAllocateMemory (pMac->hHdd, (void**) &pReq, sizeof(tAniGetPEStatsReq)))) { @@ -1523,16 +1531,16 @@ dump_lim_get_pe_statistics(tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tA } palZeroMemory( pMac, pReq, sizeof(*pReq)); - + pReq->msgType = eWNI_SME_GET_STATISTICS_REQ; pReq->statsMask = statsMask; pReq->staId = (tANI_U16)arg2; pMac->lim.gLimRspReqd = eANI_BOOLEAN_TRUE; limPostSmeMessage(pMac, eWNI_SME_GET_STATISTICS_REQ, (tANI_U32 *) pReq); - + return p; - + } extern char* setLOGLevel( tpAniSirGlobal pMac, char *p, tANI_U32 module, tANI_U32 level ); @@ -1570,7 +1578,7 @@ static char * dump_lim_send_join_req( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI_U32 arg3, tANI_U32 arg4, char *p) { (void) arg1; (void) arg2; (void) arg3; (void) arg4; - p = sendSmeJoinReq(pMac, p); + p = sendSmeJoinReq(pMac, p); return p; } @@ -1699,7 +1707,7 @@ static char *finishScan(tpAniSirGlobal pMac, char *p) msg.type = SIR_LIM_MIN_CHANNEL_TIMEOUT; msg.bodyval = 0; msg.bodyptr = NULL; - + limPostMsgApi(pMac, &msg); return p; } @@ -1785,10 +1793,10 @@ dump_lim_send_rrm_action( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tAN /* send two reports with incapable bit set */ pRRMReport[0].type = 6; pRRMReport[1].type = 7; - limSendRadioMeasureReportActionFrame( pMac, 1, 2, &pRRMReport[0], psessionEntry->bssId, psessionEntry ); - break; + limSendRadioMeasureReportActionFrame( pMac, 1, 2, &pRRMReport[0], psessionEntry->bssId, psessionEntry ); + break; case 1: - for ( i = 0 ; i < num ; i++ ) + for ( i = 0 ; i < num ; i++ ) { pRRMReport[i].type = 5; if ( i == 3 ) @@ -1805,7 +1813,7 @@ dump_lim_send_rrm_action( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tAN pRRMReport[i].report.beaconReport.rcpi = 40; pRRMReport[i].report.beaconReport.bssid[0] = 0x00; - pRRMReport[i].report.beaconReport.bssid[1] = 0xAA; + pRRMReport[i].report.beaconReport.bssid[1] = 0xAA; pRRMReport[i].report.beaconReport.bssid[2] = 0xBB; pRRMReport[i].report.beaconReport.bssid[3] = 0xCC; pRRMReport[i].report.beaconReport.bssid[4] = 0x00; @@ -1825,7 +1833,7 @@ dump_lim_send_rrm_action( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tAN } } - limSendRadioMeasureReportActionFrame( pMac, 1, num, &pRRMReport[0], psessionEntry->bssId, psessionEntry ); + limSendRadioMeasureReportActionFrame( pMac, 1, num, &pRRMReport[0], psessionEntry->bssId, psessionEntry ); break; case 2: //send Neighbor request. @@ -1851,7 +1859,7 @@ dump_lim_send_rrm_action( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tAN link.txAntenna = 1; link.rcpi = 9; link.rsni = 3; - limSendLinkReportActionFrame( pMac, &link, psessionEntry->bssId, psessionEntry ); + limSendLinkReportActionFrame( pMac, &link, psessionEntry->bssId, psessionEntry ); } break; default: @@ -1860,7 +1868,7 @@ dump_lim_send_rrm_action( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tAN done: vos_mem_free(pRRMReport); - return p; + return p; } static char * @@ -1881,17 +1889,17 @@ dump_lim_unpack_rrm_action( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, t tANI_U8 pBody[][100] = { { /*Beacon Request 0*/ - 0x05, 0x00, 0x01, 0x00, 0x00, + 0x05, 0x00, 0x01, 0x00, 0x00, //Measurement request IE - 0x26, 0x25, 0x01, 0x00, + 0x26, 0x25, 0x01, 0x00, //Beacon request type 0x05, //Beacon request starts here 0x0C, 0x01, 0x30, 0x00, 0x14, 0x00, 0x01, //BSSID - 0xFF, 0xFF, 0xFF, 0xFF, 0xff, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xff, 0xFF, //SSID - 0x00, 0x05, 0x57, 0x69, 0x46, 0x69, 0x31, + 0x00, 0x05, 0x57, 0x69, 0x46, 0x69, 0x31, //Reporting Condition 0x01, 0x02, 0x00, 0x00, //Reporting Detail @@ -1901,15 +1909,15 @@ dump_lim_unpack_rrm_action( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, t }, { /*Beacon Request 1*/ - 0x05, 0x00, 0x01, 0x00, 0x00, + 0x05, 0x00, 0x01, 0x00, 0x00, //Measurement request IE - 0x26, 0x28, 0x01, 0x00, + 0x26, 0x28, 0x01, 0x00, //Beacon request type 0x05, //Beacon request starts here 0x0C, 0xFF, 0x30, 0x00, 0x14, 0x00, 0x01, //BSSID - 0xFF, 0xFF, 0xFF, 0xFF, 0xff, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xff, 0xFF, //SSID /* 0x00, 0x08, 0x35, 0x36, 0x37, 0x38, 0x39, 0x40, 0x41, 0x42, */ //Reporting Condition @@ -1919,23 +1927,23 @@ dump_lim_unpack_rrm_action( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, t //Request IE 0x0A, 0x05, 0x00, 0x30, 0x46, 0x36, 0xDD, //AP channel report - 0x33, 0x03, 0x0C, 0x01, 0x06, - 0x33, 0x03, 0x0C, 0x24, 0x30, + 0x33, 0x03, 0x0C, 0x01, 0x06, + 0x33, 0x03, 0x0C, 0x24, 0x30, }, { /*Beacon Request 2*/ - 0x05, 0x00, 0x01, 0x00, 0x00, + 0x05, 0x00, 0x01, 0x00, 0x00, //Measurement request IE - 0x26, 0x1E, 0x01, 0x00, + 0x26, 0x1E, 0x01, 0x00, //Beacon request type 0x05, //Beacon request starts here 0x0C, 0x00, 0x30, 0x00, 0x14, 0x00, 0x02, //BSSID - 0xFF, 0xFF, 0xFF, 0xFF, 0xff, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xff, 0xFF, //SSID - 0x00, 0x05, 0x57, 0x69, 0x46, 0x69, 0x31, - //0x00, 0x08, 0x41, 0x53, 0x54, 0x2D, 0x57, 0x41, 0x50, 0x49, + 0x00, 0x05, 0x57, 0x69, 0x46, 0x69, 0x31, + //0x00, 0x08, 0x41, 0x53, 0x54, 0x2D, 0x57, 0x41, 0x50, 0x49, //Reporting Condition 0x01, 0x02, 0x00, 0x00, //Reporting Detail @@ -1944,17 +1952,17 @@ dump_lim_unpack_rrm_action( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, t }, { /*Beacon Request 3*/ - 0x05, 0x00, 0x01, 0x00, 0x00, + 0x05, 0x00, 0x01, 0x00, 0x00, //Measurement request IE - 0x26, 0x25, 0x01, 0x00, + 0x26, 0x25, 0x01, 0x00, //Beacon request type 0x05, //Beacon request starts here 0x0C, 0x01, 0x30, 0x00, 0x69, 0x00, 0x00, //BSSID - 0xFF, 0xFF, 0xFF, 0xFF, 0xff, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xff, 0xFF, //SSID - 0x00, 0x05, 0x57, 0x69, 0x46, 0x69, 0x31, + 0x00, 0x05, 0x57, 0x69, 0x46, 0x69, 0x31, //Reporting Condition 0x01, 0x02, 0x00, 0x00, //Reporting Detail @@ -1964,15 +1972,15 @@ dump_lim_unpack_rrm_action( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, t }, { /*Neighbor report*/ - 0x05, 0x05, 0x01, + 0x05, 0x05, 0x01, //Measurement request IE - 0x34, 0x17, + 0x34, 0x17, //BSSID - 0xFF, 0xFF, 0xFF, 0xFF, 0xff, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xff, 0xFF, //BSSID INFOo 0xED, 0x01, 0x00, 0x00, //Reg class, channel, Phy type - 0x20, 0x01, 0x02, + 0x20, 0x01, 0x02, //TSF Info 0x01, 0x04, 0x02, 0x00, 0x60, 0x00, //Condensed country @@ -1984,7 +1992,7 @@ dump_lim_unpack_rrm_action( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, t //Txpower used 0x00, //Max Tx Power - 0x00 + 0x00 } }; @@ -2041,7 +2049,7 @@ dump_lim_unpack_rrm_action( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, t case 6: { tPowerdBm localConstraint = (tPowerdBm) arg3; - tPowerdBm maxTxPower = cfgGetRegulatoryMaxTransmitPower( pMac, psessionEntry->currentOperChannel ); + tPowerdBm maxTxPower = cfgGetRegulatoryMaxTransmitPower( pMac, psessionEntry->currentOperChannel ); maxTxPower = VOS_MIN( maxTxPower, maxTxPower-localConstraint ); if( maxTxPower != psessionEntry->maxTxPower ) { @@ -2054,14 +2062,14 @@ dump_lim_unpack_rrm_action( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, t p += log_sprintf( pMac, p, "Invalid option" ); break; } - return p; + return p; } #endif #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING #ifdef RSSI_HACK -/* This dump command is needed to set the RSSI values in TL while testing handoff. Handoff code was tested - * using this dump command. Whatever the value gives as the first parameter will be considered as the average +/* This dump command is needed to set the RSSI values in TL while testing handoff. Handoff code was tested + * using this dump command. Whatever the value gives as the first parameter will be considered as the average * RSSI by TL and invokes corresponding callback registered by the clients */ extern int dumpCmdRSSI; static char * @@ -2116,42 +2124,42 @@ dump_lim_ft_event( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI_U32 a pftPreAuthReq->messageType = eWNI_SME_FT_PRE_AUTH_REQ; pftPreAuthReq->length = auth_req_len + sizeof(Profile.pBssDesc->length) + Profile.pBssDesc->length; - pftPreAuthReq->preAuthchannelNum = 6; + pftPreAuthReq->preAuthchannelNum = 6; - palCopyMemory(pMac->hHdd, (void *) &pftPreAuthReq->currbssId, - (void *)psessionEntry->bssId, 6); - palCopyMemory(pMac->hHdd, (void *) &pftPreAuthReq->preAuthbssId, - (void *)macAddr, 6); + palCopyMemory(pMac->hHdd, (void *) &pftPreAuthReq->currbssId, + (void *)psessionEntry->bssId, 6); + palCopyMemory(pMac->hHdd, (void *) &pftPreAuthReq->preAuthbssId, + (void *)macAddr, 6); pftPreAuthReq->ft_ies_length = (tANI_U16)pMac->ft.ftSmeContext.auth_ft_ies_length; // Also setup the mac address in sme context. palCopyMemory(pMac->hHdd, pMac->ft.ftSmeContext.preAuthbssId, macAddr, 6); - vos_mem_copy(pftPreAuthReq->ft_ies, pMac->ft.ftSmeContext.auth_ft_ies, + vos_mem_copy(pftPreAuthReq->ft_ies, pMac->ft.ftSmeContext.auth_ft_ies, pMac->ft.ftSmeContext.auth_ft_ies_length); vos_mem_copy(Profile.pBssDesc->bssId, macAddr, 6); p += log_sprintf( pMac,p, "\n ----- LIM Debug Information ----- \n"); - p += log_sprintf( pMac, p, "%s: length = %d\n", __func__, + p += log_sprintf( pMac, p, "%s: length = %d\n", __func__, (int)pMac->ft.ftSmeContext.auth_ft_ies_length); - p += log_sprintf( pMac, p, "%s: length = %02x\n", __func__, + p += log_sprintf( pMac, p, "%s: length = %02x\n", __func__, (int)pMac->ft.ftSmeContext.auth_ft_ies[0]); - p += log_sprintf( pMac, p, "%s: Auth Req %02x %02x %02x\n", + p += log_sprintf( pMac, p, "%s: Auth Req %02x %02x %02x\n", __func__, pftPreAuthReq->ft_ies[0], pftPreAuthReq->ft_ies[1], pftPreAuthReq->ft_ies[2]); - p += log_sprintf( pMac, p, "%s: Session %02x %02x %02x\n", __func__, + p += log_sprintf( pMac, p, "%s: Session %02x %02x %02x\n", __func__, psessionEntry->bssId[0], psessionEntry->bssId[1], psessionEntry->bssId[2]); - p += log_sprintf( pMac, p, "%s: Session %02x %02x %02x %p\n", __func__, + p += log_sprintf( pMac, p, "%s: Session %02x %02x %02x %p\n", __func__, pftPreAuthReq->currbssId[0], - pftPreAuthReq->currbssId[1], + pftPreAuthReq->currbssId[1], pftPreAuthReq->currbssId[2], pftPreAuthReq); Profile.pBssDesc->channelId = (tANI_U8)arg3; - vos_mem_copy((void *)pftPreAuthReq->pbssDescription, (void *)Profile.pBssDesc, - Profile.pBssDesc->length); + vos_mem_copy((void *)pftPreAuthReq->pbssDescription, (void *)Profile.pBssDesc, + Profile.pBssDesc->length); msg.type = eWNI_SME_FT_PRE_AUTH_REQ; msg.bodyptr = pftPreAuthReq; @@ -2165,7 +2173,7 @@ dump_lim_ft_event( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI_U32 a default: break; } - return p; + return p; } #endif static char * @@ -2193,7 +2201,7 @@ dump_lim_channel_switch_announcement( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U psessionEntry->gLimChannelSwitch.primaryChannel = nNewChannel; schSetFixedBeaconFields(pMac, psessionEntry); - limSendBeaconInd(pMac, psessionEntry); + limSendBeaconInd(pMac, psessionEntry); return p; } @@ -2212,16 +2220,16 @@ dump_lim_vht_opmode_notification(tpAniSirGlobal pMac, tANI_U32 arg1,tANI_U32 arg p,"Session does not exist usage: 366 <0> sessionid channel \n"); return p; } - + limSendVHTOpmodeNotificationFrame(pMac, peer, nMode,psessionEntry); - + psessionEntry->gLimOperatingMode.present = 1; psessionEntry->gLimOperatingMode.chanWidth = nMode; psessionEntry->gLimOperatingMode.rxNSS = 0; psessionEntry->gLimOperatingMode.rxNSSType = 0; schSetFixedBeaconFields(pMac, psessionEntry); - limSendBeaconInd(pMac, psessionEntry); + limSendBeaconInd(pMac, psessionEntry); return p; } @@ -2252,9 +2260,9 @@ dump_lim_vht_channel_switch_notification(tpAniSirGlobal pMac, tANI_U32 arg1,tANI psessionEntry->gLimWiderBWChannelSwitch.newChanWidth = nChanWidth; psessionEntry->gLimWiderBWChannelSwitch.newCenterChanFreq0 = limGetCenterChannel(pMac,nNewChannel,(ncbMode+1),nChanWidth); psessionEntry->gLimWiderBWChannelSwitch.newCenterChanFreq1 = 0; - + schSetFixedBeaconFields(pMac, psessionEntry); - limSendBeaconInd(pMac, psessionEntry); + limSendBeaconInd(pMac, psessionEntry); return p; } @@ -2278,7 +2286,7 @@ dump_lim_cancel_channel_switch_announcement( tpAniSirGlobal pMac, tANI_U32 arg1, psessionEntry->gLimChannelSwitch.primaryChannel = 0; schSetFixedBeaconFields(pMac, psessionEntry); - limSendBeaconInd(pMac, psessionEntry); + limSendBeaconInd(pMac, psessionEntry); return p; } @@ -2288,9 +2296,9 @@ static char * dump_lim_mcc_policy_maker(tpAniSirGlobal pMac, tANI_U32 arg1,tANI_U32 arg2,tANI_U32 arg3, tANI_U32 arg4, char *p) { VOS_TRACE(VOS_MODULE_ID_PE, VOS_TRACE_LEVEL_FATAL, "dump_lim_mcc_policy_maker arg = %d",arg1); - + if(arg1 == 0) //Disable feature completely - { + { WDA_TrafficStatsTimerActivate(FALSE); if (ccmCfgSetInt(pMac, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, FALSE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) @@ -2299,15 +2307,15 @@ dump_lim_mcc_policy_maker(tpAniSirGlobal pMac, tANI_U32 arg1,tANI_U32 arg2,tANI_ } } else if(arg1 == 1) //Enable feature - { + { if (ccmCfgSetInt(pMac, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, TRUE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) { limLog( pMac, LOGE, FL("Could not set WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED")); - } + } } else if(arg1 == 2) //Enable feature and activate periodic timer - { + { if (ccmCfgSetInt(pMac, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, TRUE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) { @@ -2387,12 +2395,12 @@ static tDumpFuncEntry limMenuDumpTable[] = { {308, "PE:LIM: dump all 11H related data", dump_lim_dot11h_stats}, {309, "PE:LIM: dump to enable Measurement on AP", dump_lim_enable_measurement}, {310, "PE:LIM: dump to enable QuietIE on AP", dump_lim_enable_quietIE}, - {311, "PE:LIM: disable/enable scan 1(disable)", dump_lim_disable_enable_scan}, + {311, "PE:LIM: disable/enable scan 1(disable)", dump_lim_disable_enable_scan}, {320, "PE.LIM: send sme scan request", dump_lim_scan_req_send}, /*FIXME_GEN6*/ - /* This dump command is more of generic dump cmd and hence it should + /* This dump command is more of generic dump cmd and hence it should * be moved to logDump.c */ {321, "PE:LIM: Set Log Level <VOS Module> <VOS Log Level>", dump_lim_update_log_level}, @@ -2424,7 +2432,7 @@ static tDumpFuncEntry limMenuDumpTable[] = { {355, "PE.LIM: send sme start BSS request", dump_lim_send_start_bss_req}, {356, "PE.LIM: dump pesession info ", dump_lim_session_print}, {357, "PE.LIM: send DisAssocRequest", dump_lim_send_disassoc_req}, - {358, "PE.LIM: send sme stop bss request <session ID>", dump_lim_stop_bss_req}, + {358, "PE.LIM: send sme stop bss request <session ID>", dump_lim_stop_bss_req}, {359, "PE.LIM: send sme join request", dump_lim_send_join_req}, #if defined WLAN_FEATURE_VOWIFI {360, "PE.LIM: send an RRM action frame", dump_lim_send_rrm_action}, @@ -2455,7 +2463,7 @@ static tDumpFuncEntry limMenuDumpTable[] = { void limDumpInit(tpAniSirGlobal pMac) { - logDumpRegisterTable( pMac, &limMenuDumpTable[0], + logDumpRegisterTable( pMac, &limMenuDumpTable[0], sizeof(limMenuDumpTable)/sizeof(limMenuDumpTable[0]) ); } diff --git a/CORE/MAC/src/pe/lim/limRoamingAlgo.c b/CORE/MAC/src/pe/lim/limRoamingAlgo.c index e3e34a481abc..f91abf33b720 100644 --- a/CORE/MAC/src/pe/lim/limRoamingAlgo.c +++ b/CORE/MAC/src/pe/lim/limRoamingAlgo.c @@ -47,15 +47,15 @@ /** ---------------------------------------------------------------------- -\fn limSelectsBackgroundScanMode() -\brief This function is called by limIsBackgroundScanAllowed(). -\ Here LIM decides whether we shall enforce this background -\ scan or let HAL decide whether to proceed with the background +\fn limSelectsBackgroundScanMode() +\brief This function is called by limIsBackgroundScanAllowed(). +\ Here LIM decides whether we shall enforce this background +\ scan or let HAL decide whether to proceed with the background \ scan as HAL sees fits. LIM shall enforce background scan if: \ 1) station is not in link established state \ 2) station is in link established state, but there has been \ max number of consecutive background scan failure. -\ +\ \param tpAniSirGlobal pMac \return none \ ------------------------------------------------------------------------- */ @@ -68,7 +68,7 @@ tSirBackgroundScanMode limSelectsBackgroundScanMode(tpAniSirGlobal pMac) limLog(pMac, LOGP, FL("Fail to get WNI_CFG_MAX_CONSECUTIVE_BACKGROUND_SCAN_FAILURE value")); return eSIR_NORMAL_BACKGROUND_SCAN; } - + if (cfgVal == 0) return eSIR_NORMAL_BACKGROUND_SCAN; @@ -92,7 +92,7 @@ tSirBackgroundScanMode limSelectsBackgroundScanMode(tpAniSirGlobal pMac) /** ----------------------------------------------------------- \fn limIsBackgroundScanAllowed \brief This function determines if background scan should be -\ allowed. It is called by limTriggerBackgroundScan(). +\ allowed. It is called by limTriggerBackgroundScan(). \param tpAniSirGlobal pMac \return none \ ------------------------------------------------------------- */ @@ -135,10 +135,10 @@ static tANI_U8 limIsBackgroundScanAllowed(tpAniSirGlobal pMac) \ when there is an exisiting link with an AP. \ SME_SCAN_REQ is issued to SME state machine with Active \ scanning is performed on one channel at a time. -\ +\ \ Assumptions: -\ Valid channel list at CFG is either populated by Roaming -\ algorithm upon determining/selecting a regulatory domain +\ Valid channel list at CFG is either populated by Roaming +\ algorithm upon determining/selecting a regulatory domain \ or by default has all 36 possible channels. \ \param tpAniSirGlobal pMac @@ -183,7 +183,7 @@ void limTriggerBackgroundScan(tpAniSirGlobal pMac) smeScanReq.bssType = eSIR_INFRASTRUCTURE_MODE; palCopyMemory( pMac->hHdd, (tANI_U8 *) smeScanReq.bssId, (tANI_U8 *) &bcAddr, sizeof(tSirMacAddr)); - + if (wlan_cfgGetStr(pMac, WNI_CFG_SSID, (tANI_U8 *) (smeScanReq.ssId[0].ssId), (tANI_U32 *) &ssidLen) != eSIR_SUCCESS) @@ -218,16 +218,20 @@ void limTriggerBackgroundScan(tpAniSirGlobal pMac) smeScanReq.returnAfterFirstMatch = 0; smeScanReq.returnUniqueResults = 1; - //At the first channel scan, clear the cached results + //At the first channel scan, clear the cached results if(pMac->lim.gLimBackgroundScanChannelId == 0) { - smeScanReq.returnFreshResults = SIR_BG_SCAN_PURGE_RESUTLS|SIR_BG_SCAN_RETURN_FRESH_RESULTS; + /* + * Do not purge while starting a scan. Rome firmware sends results + * of roaming scan into this cache. + */ + smeScanReq.returnFreshResults = SIR_BG_SCAN_RETURN_FRESH_RESULTS; } else { smeScanReq.returnFreshResults = SIR_BG_SCAN_RETURN_FRESH_RESULTS; } - + smeScanReq.channelList.numChannels = 1; if (pMac->lim.gLimBackgroundScanChannelId >= len) @@ -237,7 +241,7 @@ void limTriggerBackgroundScan(tpAniSirGlobal pMac) PELOGE(limLog(pMac, LOGE, FL("Skipping Background Scan since the channel list is exhausted."));) PELOGE(limLog(pMac, LOGE, FL("SME should send WNI_CFG_BACKGROUND_SCAN_PERIOD indication to start the background scan again."));) - /* Stop the BG scan timer here. SME should send WNI_CFG_BACKGROUND_SCAN_PERIOD + /* Stop the BG scan timer here. SME should send WNI_CFG_BACKGROUND_SCAN_PERIOD * indication to start the background scan again. */ if (TX_TIMER_VALID(pMac->lim.limTimers.gLimBackgroundScanTimer)) @@ -263,17 +267,17 @@ void limTriggerBackgroundScan(tpAniSirGlobal pMac) smeScanReq.uIEFieldLen = 0; smeScanReq.uIEFieldOffset = sizeof(tSirSmeScanReq); - + backgroundScan = limSelectsBackgroundScanMode(pMac); PELOG1(limLog(pMac, LOG1, FL("Performing (mode %d) Background Scan "), backgroundScan);) smeScanReq.backgroundScanMode = backgroundScan; - + //determine whether to send the results or not, If so, notify the BG scan results to SME if (pMac->lim.gLimBackgroundScanChannelId >= len) { pMac->lim.gLimReportBackgroundScanResults = TRUE; } - + limPostSmeMessage(pMac, eWNI_SME_SCAN_REQ, (tANI_U32 *) &smeScanReq); @@ -282,8 +286,8 @@ void limTriggerBackgroundScan(tpAniSirGlobal pMac) /** ---------------------------------------------------------------------- \fn limAbortBackgroundScan -\brief This function aborts background scan and send scan -\ response to SME. +\brief This function aborts background scan and send scan +\ response to SME. \param tpAniSirGlobal pMac \return none \ ------------------------------------------------------------------------- */ @@ -291,12 +295,12 @@ void limAbortBackgroundScan(tpAniSirGlobal pMac) { tANI_U16 scanRspLen = 8; - if(pMac->lim.gLimBackgroundScanTerminate == FALSE) + if(pMac->lim.gLimBackgroundScanTerminate == FALSE) { limLog(pMac, LOGE, FL("Abort Background Scan ")); if (TX_TIMER_VALID(pMac->lim.limTimers.gLimBackgroundScanTimer)) { - limDeactivateAndChangeTimer(pMac, eLIM_BACKGROUND_SCAN_TIMER); + limDeactivateAndChangeTimer(pMac, eLIM_BACKGROUND_SCAN_TIMER); } pMac->lim.gLimBackgroundScanTerminate = TRUE; @@ -310,11 +314,11 @@ void limAbortBackgroundScan(tpAniSirGlobal pMac) pMac->lim.gLimSmeScanResultLength - sizeof(tSirBssDescription); limSendSmeScanRsp(pMac, scanRspLen, eSIR_SME_SUCCESS, 0, 0); - } + } } // reset background scan variables - pMac->lim.gLimBackgroundScanChannelId = 0; + pMac->lim.gLimBackgroundScanChannelId = 0; return; } diff --git a/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c b/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c index caecbf2bfb33..1d71f2013a28 100644 --- a/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c +++ b/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c @@ -104,7 +104,7 @@ limSendSmeRsp(tpAniSirGlobal pMac, tANI_U16 msgType, return; } - + pSirSmeRsp->messageType = msgType; pSirSmeRsp->length = sizeof(tSirSmeRsp); pSirSmeRsp->statusCode = resultCode; @@ -119,7 +119,7 @@ limSendSmeRsp(tpAniSirGlobal pMac, tANI_U16 msgType, mmhMsg.bodyval = 0; MTRACE(macTraceMsgTx(pMac, smesessionId , mmhMsg.type)); -#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT +#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT { tpPESession psessionEntry = peGetValidPowerSaveSession(pMac); switch(msgType) @@ -132,7 +132,7 @@ limSendSmeRsp(tpAniSirGlobal pMac, tANI_U16 msgType, break; case eWNI_PMC_ENTER_IMPS_RSP: limDiagEventReport(pMac, WLAN_PE_DIAG_ENTER_IMPS_RSP_EVENT, psessionEntry, (tANI_U16)resultCode, 0); - break; + break; case eWNI_PMC_EXIT_IMPS_RSP: limDiagEventReport(pMac, WLAN_PE_DIAG_EXIT_IMPS_RSP_EVENT, psessionEntry, (tANI_U16)resultCode, 0); break; @@ -147,17 +147,17 @@ limSendSmeRsp(tpAniSirGlobal pMac, tANI_U16 msgType, break; case eWNI_SME_STOP_BSS_RSP: limDiagEventReport(pMac, WLAN_PE_DIAG_STOP_BSS_RSP_EVENT, NULL, (tANI_U16)resultCode, 0); - break; + break; case eWNI_PMC_ENTER_WOWL_RSP: limDiagEventReport(pMac, WLAN_PE_DIAG_ENTER_WOWL_RSP_EVENT, psessionEntry, (tANI_U16)resultCode, 0); break; case eWNI_PMC_EXIT_WOWL_RSP: limDiagEventReport(pMac, WLAN_PE_DIAG_EXIT_WOWL_RSP_EVENT, psessionEntry, (tANI_U16)resultCode, 0); - break; - } - } + break; + } + } #endif //FEATURE_WLAN_DIAG_SUPPORT - + limSysProcessMmhMsgApi(pMac, &mmhMsg, ePROT); } /*** end limSendSmeRsp() ***/ @@ -180,13 +180,13 @@ limSendSmeRsp(tpAniSirGlobal pMac, tANI_U16 msgType, * NA * * @param pMac Pointer to Global MAC structure - * @param status Resume link status + * @param status Resume link status * @param ctx context passed while calling resmune link. * (join response to be sent) * * @return None */ -static void limSendSmeJoinReassocRspAfterResume( tpAniSirGlobal pMac, +static void limSendSmeJoinReassocRspAfterResume( tpAniSirGlobal pMac, eHalStatus status, tANI_U32 *ctx) { tSirMsgQ mmhMsg; @@ -235,7 +235,7 @@ limSendSmeJoinReassocRsp(tpAniSirGlobal pMac, tANI_U16 msgType, tANI_U32 rspLen; tpDphHashNode pStaDs = NULL; -#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT +#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT if (msgType == eWNI_SME_REASSOC_RSP) limDiagEventReport(pMac, WLAN_PE_DIAG_REASSOC_RSP_EVENT, psessionEntry, (tANI_U16)resultCode, 0); else @@ -249,7 +249,7 @@ limSendSmeJoinReassocRsp(tpAniSirGlobal pMac, tANI_U16 msgType, if(psessionEntry == NULL) { - rspLen = sizeof(tSirSmeJoinRsp); + rspLen = sizeof(tSirSmeJoinRsp); if( eHAL_STATUS_SUCCESS != palAllocateMemory( pMac->hHdd, (void **)&pSirSmeJoinRsp, rspLen)) { @@ -257,10 +257,10 @@ limSendSmeJoinReassocRsp(tpAniSirGlobal pMac, tANI_U16 msgType, limLog(pMac, LOGP, FL("call to palAllocateMemory failed for JOIN/REASSOC_RSP")); return; } - + palZeroMemory(pMac, (tANI_U8*)pSirSmeJoinRsp, rspLen); - - + + pSirSmeJoinRsp->beaconLength = 0; pSirSmeJoinRsp->assocReqLength = 0; pSirSmeJoinRsp->assocRspLength = 0; @@ -268,16 +268,16 @@ limSendSmeJoinReassocRsp(tpAniSirGlobal pMac, tANI_U16 msgType, else { - rspLen = psessionEntry->assocReqLen + psessionEntry->assocRspLen + - psessionEntry->bcnLen + + rspLen = psessionEntry->assocReqLen + psessionEntry->assocRspLen + + psessionEntry->bcnLen + #ifdef WLAN_FEATURE_VOWIFI_11R psessionEntry->RICDataLen + #endif -#ifdef FEATURE_WLAN_CCX - psessionEntry->tspecLen + -#endif +#ifdef FEATURE_WLAN_CCX + psessionEntry->tspecLen + +#endif sizeof(tSirSmeJoinRsp) - sizeof(tANI_U8) ; - + if( eHAL_STATUS_SUCCESS != palAllocateMemory( pMac->hHdd, (void **)&pSirSmeJoinRsp, rspLen)) { /// Buffer not available. Log error @@ -311,10 +311,10 @@ limSendSmeJoinReassocRsp(tpAniSirGlobal pMac, tANI_U16 msgType, #ifdef WLAN_FEATURE_VOWIFI_11R pSirSmeJoinRsp->parsedRicRspLen = 0; #endif -#ifdef FEATURE_WLAN_CCX +#ifdef FEATURE_WLAN_CCX pSirSmeJoinRsp->tspecIeLen = 0; #endif - + if(resultCode == eSIR_SME_SUCCESS) { @@ -328,7 +328,7 @@ limSendSmeJoinReassocRsp(tpAniSirGlobal pMac, tANI_U16 msgType, PELOG1(limLog(pMac, LOG1, FL("Beacon=%d"), psessionEntry->bcnLen);) #endif } - + if(psessionEntry->assocReq != NULL) { pSirSmeJoinRsp->assocReqLength = psessionEntry->assocReqLen; @@ -345,7 +345,7 @@ limSendSmeJoinReassocRsp(tpAniSirGlobal pMac, tANI_U16 msgType, palCopyMemory(pMac->hHdd, pSirSmeJoinRsp->frames + psessionEntry->bcnLen + psessionEntry->assocReqLen, psessionEntry->assocRsp, pSirSmeJoinRsp->assocRspLength); palFreeMemory(pMac->hHdd, psessionEntry->assocRsp); psessionEntry->assocRsp = NULL; - } + } #ifdef WLAN_FEATURE_VOWIFI_11R if(psessionEntry->ricData != NULL) { @@ -356,7 +356,7 @@ limSendSmeJoinReassocRsp(tpAniSirGlobal pMac, tANI_U16 msgType, PELOG1(limLog(pMac, LOG1, FL("RicLength=%d"), pSirSmeJoinRsp->parsedRicRspLen);) } #endif -#ifdef FEATURE_WLAN_CCX +#ifdef FEATURE_WLAN_CCX if(psessionEntry->tspecIes != NULL) { pSirSmeJoinRsp->tspecIeLen = psessionEntry->tspecLen; @@ -365,7 +365,7 @@ limSendSmeJoinReassocRsp(tpAniSirGlobal pMac, tANI_U16 msgType, psessionEntry->tspecIes = NULL; PELOG1(limLog(pMac, LOG1, FL("CCX-TspecLen=%d"), psessionEntry->tspecLen);) } -#endif +#endif pSirSmeJoinRsp->aid = psessionEntry->limAID; #ifdef WLAN_FEATURE_VOWIFI_11R_DEBUG PELOG1(limLog(pMac, LOG1, FL("AssocRsp=%d"), psessionEntry->assocRspLen);) @@ -400,29 +400,29 @@ limSendSmeJoinReassocRsp(tpAniSirGlobal pMac, tANI_U16 msgType, pSirSmeJoinRsp->length = (tANI_U16) rspLen; pSirSmeJoinRsp->statusCode = resultCode; pSirSmeJoinRsp->protStatusCode = protStatusCode; - + /* Update SME session ID and transaction Id */ pSirSmeJoinRsp->sessionId = smesessionId; pSirSmeJoinRsp->transactionId = smetransactionId; - + if(IS_MCC_SUPPORTED && limIsLinkSuspended( pMac ) ) { if( psessionEntry && psessionEntry->limSmeState == eLIM_SME_LINK_EST_STATE ) { - + #ifdef WLAN_FEATURE_11AC if (psessionEntry->vhtCapability) { ePhyChanBondState htSecondaryChannelOffset; /*Get 11ac cbState from 11n cbState*/ - htSecondaryChannelOffset = limGet11ACPhyCBState(pMac, + htSecondaryChannelOffset = limGet11ACPhyCBState(pMac, psessionEntry->currentOperChannel, psessionEntry->htSecondaryChannelOffset, psessionEntry->apCenterChan, psessionEntry); peSetResumeChannel( pMac, psessionEntry->currentOperChannel, htSecondaryChannelOffset); } - else + else #endif peSetResumeChannel( pMac, psessionEntry->currentOperChannel, psessionEntry->htSecondaryChannelOffset); } @@ -430,7 +430,7 @@ limSendSmeJoinReassocRsp(tpAniSirGlobal pMac, tANI_U16 msgType, { peSetResumeChannel( pMac, 0, 0); } - limResumeLink( pMac, limSendSmeJoinReassocRspAfterResume, + limResumeLink( pMac, limSendSmeJoinReassocRspAfterResume, (tANI_U32*) pSirSmeJoinRsp ); } else @@ -487,7 +487,7 @@ limSendSmeStartBssRsp(tpAniSirGlobal pMac, if(psessionEntry == NULL) { - + if( eHAL_STATUS_SUCCESS != palAllocateMemory( pMac->hHdd, (void **)&pSirSmeRsp, size)) { /// Buffer not available. Log error @@ -495,7 +495,7 @@ limSendSmeStartBssRsp(tpAniSirGlobal pMac, return; } palZeroMemory(pMac, (tANI_U8*)pSirSmeRsp, size); - + } else { @@ -519,7 +519,7 @@ limSendSmeStartBssRsp(tpAniSirGlobal pMac, { sirCopyMacAddr(pSirSmeRsp->bssDescription.bssId, psessionEntry->bssId); - + /* Read beacon interval from session */ pSirSmeRsp->bssDescription.beaconInterval = (tANI_U16) psessionEntry->beaconParams.beaconInterval; pSirSmeRsp->bssType = psessionEntry->bssType; @@ -533,9 +533,9 @@ limSendSmeStartBssRsp(tpAniSirGlobal pMac, #if 0 if (wlan_cfgGetInt(pMac, WNI_CFG_CURRENT_CHANNEL, &len) != eSIR_SUCCESS) limLog(pMac, LOGP, FL("could not retrieve CURRENT_CHANNEL from CFG")); - -#endif// TO SUPPORT BT-AMP - + +#endif// TO SUPPORT BT-AMP + pSirSmeRsp->bssDescription.channelId = psessionEntry->currentOperChannel; pSirSmeRsp->bssDescription.aniIndicator = 1; @@ -558,9 +558,9 @@ limSendSmeStartBssRsp(tpAniSirGlobal pMac, size += ieLen - sizeof(tANI_U32); } - - + + } pSirSmeRsp->messageType = msgType; @@ -571,8 +571,8 @@ limSendSmeStartBssRsp(tpAniSirGlobal pMac, pSirSmeRsp->transactionId = smetransactionId; pSirSmeRsp->statusCode = resultCode; if(psessionEntry != NULL ) - pSirSmeRsp->staId = psessionEntry->staId; //else it will be always zero smeRsp StaID = 0 - + pSirSmeRsp->staId = psessionEntry->staId; //else it will be always zero smeRsp StaID = 0 + mmhMsg.type = msgType; mmhMsg.bodyptr = pSirSmeRsp; @@ -585,7 +585,7 @@ limSendSmeStartBssRsp(tpAniSirGlobal pMac, { MTRACE(macTraceMsgTx(pMac, psessionEntry->peSessionId, mmhMsg.type)); } -#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT +#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT limDiagEventReport(pMac, WLAN_PE_DIAG_START_BSS_RSP_EVENT, psessionEntry, (tANI_U16)resultCode, 0); #endif //FEATURE_WLAN_DIAG_SUPPORT @@ -754,6 +754,8 @@ limSendSmeScanRsp(tpAniSirGlobal pMac, tANI_U16 length, limSysProcessMmhMsgApi(pMac, &mmhMsg, ePROT); PELOG2(limLog(pMac, LOG2, FL("statusCode : eSIR_SME_SUCCESS"));) } + // Discard previously cached scan results + limReInitScanResults(pMac); return; @@ -890,6 +892,80 @@ limSendSmeLfrScanRsp(tpAniSirGlobal pMac, tANI_U16 length, } //while(ptemp) } //for (i = 0; i < LIM_MAX_NUM_OF_SCAN_RESULTS; i++) + /* Repeat for normal scan cache */ + if (pMac->roam.roamSession[smesessionId].connectedProfile.SSID.length != 0) { + tSirMacSSid *pSsid = &pMac->roam.roamSession[smesessionId].connectedProfile.SSID; + for (i = 0; i < LIM_MAX_NUM_OF_SCAN_RESULTS; i++) + { + ptemp = pMac->lim.gLimCachedScanHashTable[i]; + while(ptemp) + { + if(palEqualMemory(pMac->hHdd, (tANI_U8* ) ptemp->bssDescription.ieFields+1, + (tANI_U8 *) &pSsid->length, + (tANI_U8) (pSsid->length + 1))) + { + pbBuf = ((tANI_U8 *)pSirSmeScanRsp) + msgLen; + if(0 == bssCount) + { + msgLen = sizeof(tSirSmeScanRsp) - + sizeof(tSirBssDescription) + + ptemp->bssDescription.length + + sizeof(ptemp->bssDescription.length); + pDesc = pSirSmeScanRsp->bssDescription; + } + else + { + msgLen += ptemp->bssDescription.length + + sizeof(ptemp->bssDescription.length); + pDesc = (tSirBssDescription *)pbBuf; + } + if ( (allocLength < msgLen) || + (LIM_MAX_NUM_OF_SCAN_RESULTS_REPORTED <= bssCount++) ) + { + pSirSmeScanRsp->statusCode = + eSIR_SME_MORE_SCAN_RESULTS_FOLLOW; + pSirSmeScanRsp->messageType = eWNI_SME_SCAN_RSP; + pSirSmeScanRsp->length = curMsgLen; + mmhMsg.bodyptr = pSirSmeScanRsp; + mmhMsg.bodyval = 0; + MTRACE(macTraceMsgTx(pMac, NO_SESSION, mmhMsg.type)); + limSysProcessMmhMsgApi(pMac, &mmhMsg, ePROT); + if (eHAL_STATUS_SUCCESS != palAllocateMemory(pMac->hHdd, + (void **)&pSirSmeScanRsp, + allocLength)) + { + // Log error + limLog(pMac, LOGP, + FL("call to palAllocateMemory failed for eWNI_SME_SCAN_RSP\n")); + return; + } + msgLen = sizeof(tSirSmeScanRsp) - + sizeof(tSirBssDescription) + + ptemp->bssDescription.length + + sizeof(ptemp->bssDescription.length); + pDesc = pSirSmeScanRsp->bssDescription; + bssCount = 1; + } + curMsgLen = msgLen; + + PELOG2(limLog(pMac, LOG2, FL("ScanRsp : msgLen %d, bssDescr Len=%d\n"), + msgLen, ptemp->bssDescription.length);) + pDesc->length + = ptemp->bssDescription.length; + palCopyMemory( pMac->hHdd, (tANI_U8 *) &pDesc->bssId, + (tANI_U8 *) &ptemp->bssDescription.bssId, + ptemp->bssDescription.length); + + PELOG2(limLog(pMac, LOG2, FL("BssId ")); + limPrintMacAddr(pMac, ptemp->bssDescription.bssId, LOG2);) + + pSirSmeScanRsp->sessionId = smesessionId; + pSirSmeScanRsp->transcationId = smetranscationId; + } + ptemp = ptemp->next; + } //while(ptemp) + } //for (i = 0; i < LIM_MAX_NUM_OF_SCAN_RESULTS; i++) + } if (0 == bssCount) { limPostSmeScanRspMessage(pMac, length, resultCode, smesessionId, smetranscationId); @@ -917,6 +993,8 @@ limSendSmeLfrScanRsp(tpAniSirGlobal pMac, tANI_U16 length, limSysProcessMmhMsgApi(pMac, &mmhMsg, ePROT); PELOG2(limLog(pMac, LOG2, FL("statusCode : eSIR_SME_SUCCESS\n"));) } + // Discard previously cached scan results + limReInitLfrScanResults(pMac); return; @@ -941,7 +1019,7 @@ limSendSmeLfrScanRsp(tpAniSirGlobal pMac, tANI_U16 length, */ void -limPostSmeScanRspMessage(tpAniSirGlobal pMac, +limPostSmeScanRspMessage(tpAniSirGlobal pMac, tANI_U16 length, tSirResultCodes resultCode,tANI_U8 smesessionId, tANI_U16 smetransactionId) { @@ -972,13 +1050,13 @@ limPostSmeScanRspMessage(tpAniSirGlobal pMac, /*Update SME session Id and transaction Id */ pSirSmeScanRsp->sessionId = smesessionId; pSirSmeScanRsp->transcationId = smetransactionId; - + mmhMsg.type = eWNI_SME_SCAN_RSP; mmhMsg.bodyptr = pSirSmeScanRsp; mmhMsg.bodyval = 0; MTRACE(macTraceMsgTx(pMac, NO_SESSION, mmhMsg.type)); -#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT +#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT limDiagEventReport(pMac, WLAN_PE_DIAG_SCAN_RSP_EVENT, NULL, (tANI_U16)resultCode, 0); #endif //FEATURE_WLAN_DIAG_SUPPORT @@ -1022,7 +1100,7 @@ void limSendSmeOemDataRsp(tpAniSirGlobal pMac, tANI_U32* pMsgBuf, tSirResultCode tLimMlmOemDataRsp* pMlmOemDataRsp=NULL; tANI_U16 msgLength; - + //get the pointer to the mlm message pMlmOemDataRsp = (tLimMlmOemDataRsp*)(pMsgBuf); @@ -1106,24 +1184,24 @@ limSendSmeAuthRsp(tpAniSirGlobal pMac, return; } - + if(psessionEntry != NULL) { palCopyMemory( pMac->hHdd, (tANI_U8 *) pSirSmeAuthRsp->peerMacAddr, (tANI_U8 *) peerMacAddr, sizeof(tSirMacAddr)); pSirSmeAuthRsp->authType = authType; - + } pSirSmeAuthRsp->messageType = eWNI_SME_AUTH_RSP; pSirSmeAuthRsp->length = sizeof(tSirSmeAuthRsp); pSirSmeAuthRsp->statusCode = statusCode; pSirSmeAuthRsp->protStatusCode = protStatusCode; - + /* Update SME session and transaction Id*/ pSirSmeAuthRsp->sessionId = smesessionId; - pSirSmeAuthRsp->transactionId = smetransactionId; + pSirSmeAuthRsp->transactionId = smetransactionId; mmhMsg.type = eWNI_SME_AUTH_RSP; mmhMsg.bodyptr = pSirSmeAuthRsp; @@ -1191,7 +1269,7 @@ limSendSmeDisassocNtf(tpAniSirGlobal pMac, tSirSmeDisassocRsp *pSirSmeDisassocRsp; tSirSmeDisassocInd *pSirSmeDisassocInd; tANI_U32 *pMsg; - + switch (disassocTrigger) { case eLIM_PEER_ENTITY_DISASSOC: @@ -1223,7 +1301,7 @@ limSendSmeDisassocNtf(tpAniSirGlobal pMac, limCopyU16(pBuf, smetransactionId); pBuf += sizeof(tANI_U16); - //statusCode + //statusCode limCopyU32(pBuf, reasonCode); pBuf += sizeof(tSirResultCodes); @@ -1235,8 +1313,8 @@ limSendSmeDisassocNtf(tpAniSirGlobal pMac, //for sta, it is always 1, IBSS is handled at halInitSta - -#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT + +#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT limDiagEventReport(pMac, WLAN_PE_DIAG_DISASSOC_RSP_EVENT, psessionEntry, (tANI_U16)reasonCode, 0); #endif @@ -1260,7 +1338,7 @@ limSendSmeDisassocNtf(tpAniSirGlobal pMac, pSirSmeDisassocInd->messageType = eWNI_SME_DISASSOC_IND; pSirSmeDisassocInd->length = sizeof(tSirSmeDisassocInd); - + /* Update SME session Id and Transaction Id */ pSirSmeDisassocInd->sessionId = smesessionId; pSirSmeDisassocInd->transactionId = smetransactionId; @@ -1276,7 +1354,7 @@ limSendSmeDisassocNtf(tpAniSirGlobal pMac, palCopyMemory( pMac->hHdd, pBuf, peerMacAddr, sizeof(tSirMacAddr)); -#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT +#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT limDiagEventReport(pMac, WLAN_PE_DIAG_DISASSOC_IND_EVENT, psessionEntry, (tANI_U16)reasonCode, 0); #endif @@ -1291,7 +1369,7 @@ limSendSmeDisassocNtf(tpAniSirGlobal pMac, { peDeleteSession(pMac,psessionEntry); } - + limSendSmeDisassocDeauthNtf( pMac, eHAL_STATUS_SUCCESS, (tANI_U32*) pMsg ); } /*** end limSendSmeDisassocNtf() ***/ @@ -1299,14 +1377,14 @@ limSendSmeDisassocNtf(tpAniSirGlobal pMac, /** ----------------------------------------------------------------- \brief limSendSmeDisassocInd() - sends SME_DISASSOC_IND - - After receiving disassociation frame from peer entity, this + + After receiving disassociation frame from peer entity, this function sends a eWNI_SME_DISASSOC_IND to SME with a specific - reason code. - + reason code. + \param pMac - global mac structure - \param pStaDs - station dph hash node - \return none + \param pStaDs - station dph hash node + \return none \sa ----------------------------------------------------------------- */ void @@ -1328,41 +1406,41 @@ limSendSmeDisassocInd(tpAniSirGlobal pMac, tpDphHashNode pStaDs,tpPESession pses pSirSmeDisassocInd->transactionId = psessionEntry->transactionId; pSirSmeDisassocInd->statusCode = pStaDs->mlmStaContext.disassocReason; pSirSmeDisassocInd->reasonCode = pStaDs->mlmStaContext.disassocReason; - + palCopyMemory( pMac->hHdd, pSirSmeDisassocInd->bssId , psessionEntry->bssId , sizeof(tSirMacAddr)); - + palCopyMemory( pMac->hHdd, pSirSmeDisassocInd->peerMacAddr , pStaDs->staAddr, sizeof(tSirMacAddr)); pSirSmeDisassocInd->staId = pStaDs->staIndex; - + mmhMsg.type = eWNI_SME_DISASSOC_IND; mmhMsg.bodyptr = pSirSmeDisassocInd; mmhMsg.bodyval = 0; MTRACE(macTraceMsgTx(pMac, psessionEntry->peSessionId, mmhMsg.type)); -#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT - limDiagEventReport(pMac, WLAN_PE_DIAG_DISASSOC_IND_EVENT, psessionEntry, 0, (tANI_U16)pStaDs->mlmStaContext.disassocReason); +#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT + limDiagEventReport(pMac, WLAN_PE_DIAG_DISASSOC_IND_EVENT, psessionEntry, 0, (tANI_U16)pStaDs->mlmStaContext.disassocReason); #endif //FEATURE_WLAN_DIAG_SUPPORT limSysProcessMmhMsgApi(pMac, &mmhMsg, ePROT); - + } /*** end limSendSmeDisassocInd() ***/ /** ----------------------------------------------------------------- \brief limSendSmeDeauthInd() - sends SME_DEAUTH_IND - - After receiving deauthentication frame from peer entity, this + + After receiving deauthentication frame from peer entity, this function sends a eWNI_SME_DEAUTH_IND to SME with a specific - reason code. - + reason code. + \param pMac - global mac structure - \param pStaDs - station dph hash node - \return none + \param pStaDs - station dph hash node + \return none \sa ----------------------------------------------------------------- */ void -limSendSmeDeauthInd(tpAniSirGlobal pMac, tpDphHashNode pStaDs, tpPESession psessionEntry) +limSendSmeDeauthInd(tpAniSirGlobal pMac, tpDphHashNode pStaDs, tpPESession psessionEntry) { tSirMsgQ mmhMsg; tSirSmeDeauthInd *pSirSmeDeauthInd; @@ -1401,7 +1479,7 @@ limSendSmeDeauthInd(tpAniSirGlobal pMac, tpDphHashNode pStaDs, tpPESession psess mmhMsg.bodyval = 0; MTRACE(macTraceMsgTx(pMac, psessionEntry->peSessionId, mmhMsg.type)); -#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT +#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT limDiagEventReport(pMac, WLAN_PE_DIAG_DEAUTH_IND_EVENT, psessionEntry, 0, pStaDs->mlmStaContext.cleanupTrigger); #endif //FEATURE_WLAN_DIAG_SUPPORT @@ -1603,12 +1681,12 @@ limSendSmeDeauthNtf(tpAniSirGlobal pMac, tSirMacAddr peerMacAddr, tSirResultCode tANI_U8 sessionId; tANI_U32 *pMsg; - psessionEntry = peFindSessionByBssid(pMac,peerMacAddr,&sessionId); + psessionEntry = peFindSessionByBssid(pMac,peerMacAddr,&sessionId); switch (deauthTrigger) { case eLIM_PEER_ENTITY_DEAUTH: return; - + case eLIM_HOST_DEAUTH: /** * Deauthentication response to host triggered @@ -1627,12 +1705,12 @@ limSendSmeDeauthNtf(tpAniSirGlobal pMac, tSirMacAddr peerMacAddr, tSirResultCode pSirSmeDeauthRsp->length = sizeof(tSirSmeDeauthRsp); pSirSmeDeauthRsp->statusCode = reasonCode; pSirSmeDeauthRsp->sessionId = smesessionId; - pSirSmeDeauthRsp->transactionId = smetransactionId; + pSirSmeDeauthRsp->transactionId = smetransactionId; pBuf = (tANI_U8 *) pSirSmeDeauthRsp->peerMacAddr; palCopyMemory( pMac->hHdd, pBuf, peerMacAddr, sizeof(tSirMacAddr)); -#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT +#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT limDiagEventReport(pMac, WLAN_PE_DIAG_DEAUTH_RSP_EVENT, psessionEntry, 0, (tANI_U16)reasonCode); #endif @@ -1678,7 +1756,7 @@ limSendSmeDeauthNtf(tpAniSirGlobal pMac, tSirMacAddr peerMacAddr, tSirResultCode //peerMacAddr palCopyMemory( pMac->hHdd, pSirSmeDeauthInd->peerMacAddr, peerMacAddr, sizeof(tSirMacAddr)); -#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT +#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT limDiagEventReport(pMac, WLAN_PE_DIAG_DEAUTH_IND_EVENT, psessionEntry, 0, (tANI_U16)reasonCode); #endif //FEATURE_WLAN_DIAG_SUPPORT @@ -1686,12 +1764,12 @@ limSendSmeDeauthNtf(tpAniSirGlobal pMac, tSirMacAddr peerMacAddr, tSirResultCode break; } - + /*Delete the PE session created */ if(psessionEntry != NULL) { peDeleteSession(pMac,psessionEntry); - } + } limSendSmeDisassocDeauthNtf( pMac, eHAL_STATUS_SUCCESS, (tANI_U32*) pMsg ); @@ -1861,10 +1939,10 @@ limSendSmeSetContextRsp(tpAniSirGlobal pMac, MTRACE(macTraceMsgTx(pMac, psessionEntry->peSessionId, mmhMsg.type)); } -#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT +#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT limDiagEventReport(pMac, WLAN_PE_DIAG_SETCONTEXT_RSP_EVENT, psessionEntry, (tANI_U16)resultCode, 0); #endif //FEATURE_WLAN_DIAG_SUPPORT - + limSysProcessMmhMsgApi(pMac, &mmhMsg, ePROT); } /*** end limSendSmeSetContextRsp() ***/ @@ -1914,7 +1992,7 @@ limSendSmeRemoveKeyRsp(tpAniSirGlobal pMac, return; } - + if(psessionEntry != NULL) { @@ -1923,15 +2001,15 @@ limSendSmeRemoveKeyRsp(tpAniSirGlobal pMac, pBuf += sizeof(tSirMacAddr); limCopyU32(pBuf, resultCode); } - + pSirSmeRemoveKeyRsp->messageType = eWNI_SME_REMOVEKEY_RSP; pSirSmeRemoveKeyRsp->length = sizeof(tSirSmeRemoveKeyRsp); pSirSmeRemoveKeyRsp->statusCode = resultCode; - + /* Update SME session and transaction Id*/ pSirSmeRemoveKeyRsp->sessionId = smesessionId; - pSirSmeRemoveKeyRsp->transactionId = smetransactionId; - + pSirSmeRemoveKeyRsp->transactionId = smetransactionId; + mmhMsg.type = eWNI_SME_REMOVEKEY_RSP; mmhMsg.bodyptr = pSirSmeRemoveKeyRsp; mmhMsg.bodyval = 0; @@ -2080,9 +2158,9 @@ limSendSmeNeighborBssInd(tpAniSirGlobal pMac, } /*** end limSendSmeNeighborBssInd() ***/ /** ----------------------------------------------------------------- - \brief limSendSmeAddtsRsp() - sends SME ADDTS RSP - \ This function sends a eWNI_SME_ADDTS_RSP to SME. - \ SME only looks at rc and tspec field. + \brief limSendSmeAddtsRsp() - sends SME ADDTS RSP + \ This function sends a eWNI_SME_ADDTS_RSP to SME. + \ SME only looks at rc and tspec field. \param pMac - global mac structure \param rspReqd - is SmeAddTsRsp required \param status - status code of SME_ADD_TS_RSP @@ -2090,8 +2168,8 @@ limSendSmeNeighborBssInd(tpAniSirGlobal pMac, \sa ----------------------------------------------------------------- */ void -limSendSmeAddtsRsp(tpAniSirGlobal pMac, tANI_U8 rspReqd, tANI_U32 status, tpPESession psessionEntry, - tSirMacTspecIE tspec, tANI_U8 smesessionId, tANI_U16 smetransactionId) +limSendSmeAddtsRsp(tpAniSirGlobal pMac, tANI_U8 rspReqd, tANI_U32 status, tpPESession psessionEntry, + tSirMacTspecIE tspec, tANI_U8 smesessionId, tANI_U16 smetransactionId) { tpSirAddtsRsp rsp; tSirMsgQ mmhMsg; @@ -2109,13 +2187,13 @@ limSendSmeAddtsRsp(tpAniSirGlobal pMac, tANI_U8 rspReqd, tANI_U32 status, tpPESe rsp->messageType = eWNI_SME_ADDTS_RSP; rsp->rc = status; rsp->rsp.status = (enum eSirMacStatusCodes) status; - //palCopyMemory( pMac->hHdd, (tANI_U8 *) &rsp->rsp.tspec, (tANI_U8 *) &addts->tspec, sizeof(addts->tspec)); + //palCopyMemory( pMac->hHdd, (tANI_U8 *) &rsp->rsp.tspec, (tANI_U8 *) &addts->tspec, sizeof(addts->tspec)); rsp->rsp.tspec = tspec; - + /* Update SME session Id and transcation Id */ rsp->sessionId = smesessionId; rsp->transactionId = smetransactionId; - + mmhMsg.type = eWNI_SME_ADDTS_RSP; mmhMsg.bodyptr = rsp; mmhMsg.bodyval = 0; @@ -2127,10 +2205,10 @@ limSendSmeAddtsRsp(tpAniSirGlobal pMac, tANI_U8 rspReqd, tANI_U32 status, tpPESe { MTRACE(macTraceMsgTx(pMac, psessionEntry->peSessionId, mmhMsg.type)); } -#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT +#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT limDiagEventReport(pMac, WLAN_PE_DIAG_ADDTS_RSP_EVENT, psessionEntry, 0, 0); #endif //FEATURE_WLAN_DIAG_SUPPORT - + limSysProcessMmhMsgApi(pMac, &mmhMsg, ePROT); return; } @@ -2186,16 +2264,16 @@ limSendSmeDeltsRsp(tpAniSirGlobal pMac, tpSirDeltsReq delts, tANI_U32 status,tpP return; } palZeroMemory( pMac->hHdd, (tANI_U8 *) rsp, sizeof(*rsp)); - + if(psessionEntry != NULL) { - + rsp->aid = delts->aid; palCopyMemory( pMac->hHdd, (tANI_U8 *) &rsp->macAddr[0], (tANI_U8 *) &delts->macAddr[0], 6); palCopyMemory( pMac->hHdd, (tANI_U8 *) &rsp->rsp, (tANI_U8 *) &delts->req, sizeof(tSirDeltsReqInfo)); - } + } + - rsp->messageType = eWNI_SME_DELTS_RSP; rsp->rc = status; @@ -2214,10 +2292,10 @@ limSendSmeDeltsRsp(tpAniSirGlobal pMac, tpSirDeltsReq delts, tANI_U32 status,tpP { MTRACE(macTraceMsgTx(pMac, psessionEntry->peSessionId, mmhMsg.type)); } -#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT +#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT limDiagEventReport(pMac, WLAN_PE_DIAG_DELTS_RSP_EVENT, psessionEntry, (tANI_U16)status, 0); #endif //FEATURE_WLAN_DIAG_SUPPORT - + limSysProcessMmhMsgApi(pMac, &mmhMsg, ePROT); } @@ -2254,7 +2332,7 @@ limSendSmeDeltsInd(tpAniSirGlobal pMac, tpSirDeltsReqInfo delts, tANI_U16 aid,tp mmhMsg.bodyptr = rsp; mmhMsg.bodyval = 0; MTRACE(macTraceMsgTx(pMac, psessionEntry->peSessionId, mmhMsg.type)); -#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT +#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT limDiagEventReport(pMac, WLAN_PE_DIAG_DELTS_IND_EVENT, psessionEntry, 0, 0); #endif //FEATURE_WLAN_DIAG_SUPPORT @@ -2280,9 +2358,9 @@ limSendSmeDeltsInd(tpAniSirGlobal pMac, tpSirDeltsReqInfo delts, tANI_U16 aid,tp * NA * * @param pMac Pointer to Global MAC structure - * @param p80211Stats Statistics sent in response + * @param p80211Stats Statistics sent in response * @param resultCode TODO: - * + * * * @return none */ @@ -2306,18 +2384,18 @@ limSendSmeStatsRsp(tpAniSirGlobal pMac, tANI_U16 msgType, void* stats) break; case WDA_STAT_SUMM_RSP: mmhMsg.type = eWNI_SME_STAT_SUMM_RSP; - break; + break; default: mmhMsg.type = msgType; //Response from within PE break; } - pMsgHdr->messageType = mmhMsg.type; + pMsgHdr->messageType = mmhMsg.type; mmhMsg.bodyptr = stats; mmhMsg.bodyval = 0; MTRACE(macTraceMsgTx(pMac, NO_SESSION, mmhMsg.type)); - limSysProcessMmhMsgApi(pMac, &mmhMsg, ePROT); + limSysProcessMmhMsgApi(pMac, &mmhMsg, ePROT); return; @@ -2342,9 +2420,9 @@ limSendSmeStatsRsp(tpAniSirGlobal pMac, tANI_U16 msgType, void* stats) * NA * * @param pMac Pointer to Global MAC structure - * @param p80211Stats Statistics sent in response + * @param p80211Stats Statistics sent in response * @param resultCode TODO: - * + * * * @return none */ @@ -2366,9 +2444,9 @@ limSendSmePEStatisticsRsp(tpAniSirGlobal pMac, tANI_U16 msgType, void* stats) //Fill the Session Id pPeStats->sessionId = pPeSessionEntry->smeSessionId; } - + pPeStats->msgType = eWNI_SME_GET_STATISTICS_RSP; - + //msgType should be WDA_GET_STATISTICS_RSP mmhMsg.type = eWNI_SME_GET_STATISTICS_RSP; @@ -2376,7 +2454,7 @@ limSendSmePEStatisticsRsp(tpAniSirGlobal pMac, tANI_U16 msgType, void* stats) mmhMsg.bodyptr = stats; mmhMsg.bodyval = 0; MTRACE(macTraceMsgTx(pMac, NO_SESSION, mmhMsg.type)); - limSysProcessMmhMsgApi(pMac, &mmhMsg, ePROT); + limSysProcessMmhMsgApi(pMac, &mmhMsg, ePROT); return; @@ -2448,24 +2526,24 @@ void limSendSmeIBSSPeerInd( tpAniSirGlobal pMac, tSirMacAddr peerMacAddr, - tANI_U16 staIndex, + tANI_U16 staIndex, tANI_U8 ucastIdx, tANI_U8 bcastIdx, - tANI_U8 *beacon, - tANI_U16 beaconLen, + tANI_U8 *beacon, + tANI_U16 beaconLen, tANI_U16 msgType, tANI_U8 sessionId) { tSirMsgQ mmhMsg; tSmeIbssPeerInd *pNewPeerInd; - + if(eHAL_STATUS_SUCCESS != palAllocateMemory(pMac->hHdd,(void * *) &pNewPeerInd,(sizeof(tSmeIbssPeerInd) + beaconLen))) { PELOGE(limLog(pMac, LOGE, FL("Failed to allocate memory"));) return; } - + palZeroMemory(pMac->hHdd, (void *) pNewPeerInd, (sizeof(tSmeIbssPeerInd) + beaconLen)); palCopyMemory( pMac->hHdd, (tANI_U8 *) pNewPeerInd->peerAddr, @@ -2487,19 +2565,19 @@ limSendSmeIBSSPeerInd( mmhMsg.bodyptr = pNewPeerInd; MTRACE(macTraceMsgTx(pMac, sessionId, mmhMsg.type)); limSysProcessMmhMsgApi(pMac, &mmhMsg, ePROT); - + } /** ----------------------------------------------------------------- \brief limSendExitBmpsInd() - sends exit bmps indication - + This function sends a eWNI_PMC_EXIT_BMPS_IND with a specific reason - code to SME. This will trigger SME to get out of BMPS mode. - + code to SME. This will trigger SME to get out of BMPS mode. + \param pMac - global mac structure \param reasonCode - reason for which PE wish to exit BMPS - \return none + \return none \sa ----------------------------------------------------------------- */ void limSendExitBmpsInd(tpAniSirGlobal pMac, tExitBmpsReason reasonCode, @@ -2508,7 +2586,7 @@ void limSendExitBmpsInd(tpAniSirGlobal pMac, tExitBmpsReason reasonCode, tSirMsgQ mmhMsg; tANI_U16 msgLen = 0; tpSirSmeExitBmpsInd pExitBmpsInd; - + msgLen = sizeof(tSirSmeExitBmpsInd); if( eHAL_STATUS_SUCCESS != palAllocateMemory( pMac->hHdd, (void **)&pExitBmpsInd, msgLen )) { @@ -2526,13 +2604,13 @@ void limSendExitBmpsInd(tpAniSirGlobal pMac, tExitBmpsReason reasonCode, mmhMsg.type = eWNI_PMC_EXIT_BMPS_IND; mmhMsg.bodyptr = pExitBmpsInd; mmhMsg.bodyval = 0; - + PELOG1(limLog(pMac, LOG1, FL("Sending eWNI_PMC_EXIT_BMPS_IND to SME. "));) MTRACE(macTraceMsgTx(pMac, NO_SESSION, mmhMsg.type)); -#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT +#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM //FEATURE_WLAN_DIAG_SUPPORT limDiagEventReport(pMac, WLAN_PE_DIAG_EXIT_BMPS_IND_EVENT, peGetValidPowerSaveSession(pMac), 0, (tANI_U16)reasonCode); #endif //FEATURE_WLAN_DIAG_SUPPORT - + limSysProcessMmhMsgApi(pMac, &mmhMsg, ePROT); return; @@ -2544,10 +2622,10 @@ void limSendExitBmpsInd(tpAniSirGlobal pMac, tExitBmpsReason reasonCode, /*-------------------------------------------------------------------------- \brief peDeleteSession() - Handle the Delete BSS Response from HAL. - + \param pMac - pointer to global adapter context \param sessionId - Message pointer. - + \sa --------------------------------------------------------------------------*/ @@ -2563,22 +2641,22 @@ void limHandleDeleteBssRsp(tpAniSirGlobal pMac,tpSirMsgQ MsgQ) if (psessionEntry->limSystemRole == eLIM_STA_IN_IBSS_ROLE) { limIbssDelBssRsp(pMac, MsgQ->bodyptr,psessionEntry); - } + } else if(psessionEntry->limSystemRole == eLIM_UNKNOWN_ROLE) { limProcessSmeDelBssRsp(pMac, MsgQ->bodyval,psessionEntry); } - + else limProcessMlmDelBssRsp(pMac,MsgQ,psessionEntry); - + } #ifdef WLAN_FEATURE_VOWIFI_11R /** ----------------------------------------------------------------- - \brief limSendSmeAggrQosRsp() - sends SME FT AGGR QOS RSP - \ This function sends a eWNI_SME_FT_AGGR_QOS_RSP to SME. - \ SME only looks at rc and tspec field. + \brief limSendSmeAggrQosRsp() - sends SME FT AGGR QOS RSP + \ This function sends a eWNI_SME_FT_AGGR_QOS_RSP to SME. + \ SME only looks at rc and tspec field. \param pMac - global mac structure \param rspReqd - is SmeAddTsRsp required \param status - status code of eWNI_SME_FT_AGGR_QOS_RSP @@ -2586,7 +2664,7 @@ void limHandleDeleteBssRsp(tpAniSirGlobal pMac,tpSirMsgQ MsgQ) \sa ----------------------------------------------------------------- */ void -limSendSmeAggrQosRsp(tpAniSirGlobal pMac, tpSirAggrQosRsp aggrQosRsp, +limSendSmeAggrQosRsp(tpAniSirGlobal pMac, tpSirAggrQosRsp aggrQosRsp, tANI_U8 smesessionId) { tSirMsgQ mmhMsg; @@ -2602,13 +2680,13 @@ limSendSmeAggrQosRsp(tpAniSirGlobal pMac, tpSirAggrQosRsp aggrQosRsp, #endif /** ----------------------------------------------------------------- - \brief limSendSmePreChannelSwitchInd() - sends an indication to SME + \brief limSendSmePreChannelSwitchInd() - sends an indication to SME before switching channels for spectrum manangement. - + This function sends a eWNI_SME_PRE_SWITCH_CHL_IND to SME. - + \param pMac - global mac structure - \return none + \return none \sa ----------------------------------------------------------------- */ void @@ -2642,13 +2720,13 @@ limSendSmePreChannelSwitchInd(tpAniSirGlobal pMac, tpPESession psessionEntry) } /** ----------------------------------------------------------------- - \brief limSendSmePostChannelSwitchInd() - sends an indication to SME + \brief limSendSmePostChannelSwitchInd() - sends an indication to SME after channel switch for spectrum manangement is complete. - + This function sends a eWNI_SME_POST_SWITCH_CHL_IND to SME. - + \param pMac - global mac structure - \return none + \return none \sa ----------------------------------------------------------------- */ void @@ -2676,12 +2754,12 @@ void limSendSmeMaxAssocExceededNtf(tpAniSirGlobal pMac, tSirMacAddr peerMacAddr, { PELOGE(limLog(pMac, LOGE, FL("Failed to allocate memory"));) return; - } + } palZeroMemory(pMac->hHdd, (void *) pSmeMaxAssocInd, sizeof(tSmeMaxAssocInd)); palCopyMemory( pMac->hHdd, (tANI_U8 *)pSmeMaxAssocInd->peerMac, (tANI_U8 *)peerMacAddr, sizeof(tSirMacAddr)); pSmeMaxAssocInd->mesgType = eWNI_SME_MAX_ASSOC_EXCEEDED; - pSmeMaxAssocInd->mesgLen = sizeof(tSmeMaxAssocInd); + pSmeMaxAssocInd->mesgLen = sizeof(tSmeMaxAssocInd); pSmeMaxAssocInd->sessionId = smesessionId; mmhMsg.type = pSmeMaxAssocInd->mesgType; mmhMsg.bodyptr = pSmeMaxAssocInd; |
