wlan: Add BSS status caching
Add BSS status caching to get the BSS Information
when disconnect happens
Change-Id: I41b74700b161277bc454d8bb8978f4e1e92faea8
CRs-fixed: 2079789
diff --git a/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c b/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c
index 44bebf2..69d186e 100644
--- a/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c
+++ b/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c
@@ -160,6 +160,29 @@
limSysProcessMmhMsgApi(pMac, &mmhMsg, ePROT);
} /*** end limSendSmeRsp() ***/
+/**
+ * lim_add_bss_info() - copy data from session entry to join rsp
+ * @session_entry: PE Session Info
+ * @sme_join_rsp: Join response buffer to be filled up
+ *
+ * Return: None
+ */
+void lim_add_bss_info(tpDphHashNode sta_ds,
+ tpSirSmeJoinRsp sme_join_rsp)
+{
+ struct parsed_ies *parsed_ies = &sta_ds->parsed_ies;
+
+ if (parsed_ies->hs20vendor_ie.present)
+ sme_join_rsp->hs20vendor_ie = parsed_ies->hs20vendor_ie;
+ if (parsed_ies->vht_caps.present)
+ sme_join_rsp->vht_caps = parsed_ies->vht_caps;
+ if (parsed_ies->ht_caps.present)
+ sme_join_rsp->ht_caps = parsed_ies->ht_caps;
+ if (parsed_ies->ht_operation.present)
+ sme_join_rsp->ht_operation = parsed_ies->ht_operation;
+ if (parsed_ies->vht_operation.present)
+ sme_join_rsp->vht_operation = parsed_ies->vht_operation;
+}
/**
* limSendSmeJoinReassocRspAfterResume()
@@ -382,6 +405,7 @@
pSirSmeJoinRsp->bcastSig = pStaDs->ucBcastSig;
pSirSmeJoinRsp->maxRateFlags =
limGetMaxRateFlags(pStaDs, psessionEntry);
+ lim_add_bss_info(pStaDs, pSirSmeJoinRsp);
PELOGE(limLog(pMac, LOG1, FL("maxRateFlags: %x"),
pSirSmeJoinRsp->maxRateFlags);)
}