qcacld-3.0: Set default key index after bss start

qcacld-2.0 to qcacld-3.0 propagation

In AP+AP scenario, it is possible that hostapd can set default
key index before there is a session associated with pAdapter.
So save wep default key index in pHddApCtx and set it after bss start.

Change-Id: I1c27ad8984cb1ece266405fb5c427e59dd01db3a
CRs-Fixed: 938522
(cherry picked from commit d93be6957228143d757f299fcd32d2428860f9ee)
This commit is contained in:
Kondabattini, Ganesh
2016-09-03 01:54:22 +05:30
gecommit door qcabuildsw
bovenliggende b72e25cb7f
commit 702d90e5a7
3 gewijzigde bestanden met toevoegingen van 15 en 4 verwijderingen

Bestand weergeven

@@ -763,6 +763,9 @@ struct hdd_ap_ctx_s {
/* This will have WEP key data, if it is received before start bss */ /* This will have WEP key data, if it is received before start bss */
tCsrRoamSetKey wepKey[CSR_MAX_NUM_KEY]; tCsrRoamSetKey wepKey[CSR_MAX_NUM_KEY];
/* WEP default key index */
uint8_t wep_def_key_idx;
beacon_data_t *beacon; beacon_data_t *beacon;
bool bApActive; bool bApActive;

Bestand weergeven

@@ -9611,11 +9611,9 @@ static int __wlan_hdd_cfg80211_set_default_key(struct wiphy *wiphy,
WLAN_HDD_GET_AP_CTX_PTR(pAdapter); WLAN_HDD_GET_AP_CTX_PTR(pAdapter);
pAPCtx->wepKey[key_index].keyDirection = pAPCtx->wepKey[key_index].keyDirection =
eSIR_TX_DEFAULT; eSIR_TX_DEFAULT;
hdd_info("key index passed for sme_roam_set_default_key_index %d", hdd_info("WEP default key index set to SAP context %d",
key_index); key_index);
sme_roam_set_default_key_index( pAPCtx->wep_def_key_idx = key_index;
WLAN_HDD_GET_HAL_CTX(pAdapter),
pAdapter->sessionId, key_index);
} }
} }

Bestand weergeven

@@ -1126,6 +1126,16 @@ QDF_STATUS hdd_hostapd_sap_event_cb(tpSap_Event pSapEvent,
pHostapdState->bssState = BSS_START; pHostapdState->bssState = BSS_START;
hdd_wlan_green_ap_start_bss(pHddCtx); hdd_wlan_green_ap_start_bss(pHddCtx);
/* Set default key index */
QDF_TRACE(QDF_MODULE_ID_HDD, QDF_TRACE_LEVEL_INFO,
"%s: default key index %hu", __func__,
pHddApCtx->wep_def_key_idx);
sme_roam_set_default_key_index(
WLAN_HDD_GET_HAL_CTX(pHostapdAdapter),
pHostapdAdapter->sessionId,
pHddApCtx->wep_def_key_idx);
/* Set group key / WEP key every time when BSS is restarted */ /* Set group key / WEP key every time when BSS is restarted */
if (pHddApCtx->groupKey.keyLength) { if (pHddApCtx->groupKey.keyLength) {
status = wlansap_set_key_sta( status = wlansap_set_key_sta(