From 47f26e6a0db19091353e4bed371b7e473e76b7a9 Mon Sep 17 00:00:00 2001 From: yeshwanth sriram guntuka Date: Tue, 7 Mar 2017 12:43:02 +0530 Subject: [PATCH] qcacld-3.0: Add HT/VHT check when getting network type 11n or 11ac AP does not include 11g rates due to which driver treats the AP as 11b AP. Fix is to add HT/VHT check so that driver treats AP based on capabilities. Change-Id: I1bb49408e4e480578e2f190c5f7c0408f734d82e CRs-Fixed: 2015843 --- core/mac/src/pe/lim/lim_assoc_utils.c | 14 +------------- core/mac/src/pe/lim/lim_utils.c | 3 +++ 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/core/mac/src/pe/lim/lim_assoc_utils.c b/core/mac/src/pe/lim/lim_assoc_utils.c index 02c5704098d0..1bc58d95dbce 100644 --- a/core/mac/src/pe/lim/lim_assoc_utils.c +++ b/core/mac/src/pe/lim/lim_assoc_utils.c @@ -2133,7 +2133,6 @@ lim_add_sta(tpAniSirGlobal mac_ctx, struct scheduler_msg msg_q; tSirRetStatus ret_code = eSIR_SUCCESS; tSirMacAddr sta_mac, *sta_Addr; - uint8_t i, nw_type_11b = 0; tpSirAssocReq assoc_req; tLimIbssPeerNode *peer_node; /* for IBSS mode */ uint8_t *p2p_ie = NULL; @@ -2485,18 +2484,7 @@ lim_add_sta(tpAniSirGlobal mac_ctx, if (add_sta_params->respReqd) SET_LIM_PROCESS_DEFD_MESGS(mac_ctx, false); - for (i = 0; i < SIR_NUM_11A_RATES; i++) { - if (sirIsArate(sta_ds->supportedRates.llaRates[i] & 0x7F)) { - nw_type_11b = 0; - break; - } else { - nw_type_11b = 1; - } - } - if (nw_type_11b) - add_sta_params->nwType = eSIR_11B_NW_TYPE; - else - add_sta_params->nwType = session_entry->nwType; + add_sta_params->nwType = session_entry->nwType; msg_q.type = WMA_ADD_STA_REQ; diff --git a/core/mac/src/pe/lim/lim_utils.c b/core/mac/src/pe/lim/lim_utils.c index 005cfbe599bf..d8eee2656790 100644 --- a/core/mac/src/pe/lim/lim_utils.c +++ b/core/mac/src/pe/lim/lim_utils.c @@ -5436,6 +5436,9 @@ tSirNwType lim_get_nw_type(tpAniSirGlobal pMac, uint8_t channelNum, uint32_t typ (pMac, LOG3, FL("Beacon, nwtype=G")); ) nwType = eSIR_11G_NW_TYPE; + } else if (pBeacon->HTInfo.present || + IS_BSS_VHT_CAPABLE(pBeacon->VHTCaps)) { + nwType = eSIR_11G_NW_TYPE; } } else { /* 11a packet */