|
@@ -4193,46 +4193,76 @@ static void __lim_process_roam_scan_offload_req(tpAniSirGlobal mac_ctx,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static void __lim_process_sme_hide_ssid(tpAniSirGlobal pMac, uint32_t *pMsgBuf)
|
|
|
+/*
|
|
|
+ * lim_handle_update_ssid_hidden() - Processes SSID hidden update
|
|
|
+ * @mac_ctx: Pointer to global mac context
|
|
|
+ * @session: Pointer to PE session
|
|
|
+ * @ssid_hidden: SSID hidden value to set; 0 - Broadcast SSID,
|
|
|
+ * 1 - Disable broadcast SSID
|
|
|
+ *
|
|
|
+ * Return: None
|
|
|
+ */
|
|
|
+static void lim_handle_update_ssid_hidden(tpAniSirGlobal mac_ctx,
|
|
|
+ tpPESession session, uint8_t ssid_hidden)
|
|
|
{
|
|
|
- tpSirUpdateParams pUpdateParams;
|
|
|
- tpPESession psessionEntry;
|
|
|
+ lim_log(mac_ctx, LOG1, FL("received HIDE_SSID message"));
|
|
|
+ if (ssid_hidden != session->ssidHidden)
|
|
|
+ session->ssidHidden = ssid_hidden;
|
|
|
+ else {
|
|
|
+ lim_log(mac_ctx, LOG1, FL("Same config already present!"));
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
- PELOG1(lim_log(pMac, LOG1, FL("received HIDE_SSID message")););
|
|
|
+ /* Send vdev restart */
|
|
|
+ lim_send_vdev_restart(mac_ctx, session, session->smeSessionId);
|
|
|
|
|
|
- if (pMsgBuf == NULL) {
|
|
|
- lim_log(pMac, LOGE, FL("Buffer is Pointing to NULL"));
|
|
|
+ /* Update beacon */
|
|
|
+ sch_set_fixed_beacon_fields(mac_ctx, session);
|
|
|
+ lim_send_beacon_ind(mac_ctx, session);
|
|
|
+
|
|
|
+ return;
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * __lim_process_sme_session_update - process SME session update msg
|
|
|
+ *
|
|
|
+ * @mac_ctx: Pointer to global mac context
|
|
|
+ * @msg_buf: Pointer to the received message buffer
|
|
|
+ *
|
|
|
+ * Return: None
|
|
|
+ */
|
|
|
+static void __lim_process_sme_session_update(tpAniSirGlobal mac_ctx,
|
|
|
+ uint32_t *msg_buf)
|
|
|
+{
|
|
|
+ struct sir_update_session_param *msg;
|
|
|
+ tpPESession session;
|
|
|
+
|
|
|
+ if (!msg_buf) {
|
|
|
+ lim_log(mac_ctx, LOGE, FL("Buffer is Pointing to NULL"));
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- pUpdateParams = (tpSirUpdateParams) pMsgBuf;
|
|
|
+ msg = (struct sir_update_session_param *) msg_buf;
|
|
|
|
|
|
- psessionEntry = pe_find_session_by_sme_session_id(pMac,
|
|
|
- pUpdateParams->sessionId);
|
|
|
- if (psessionEntry == NULL) {
|
|
|
- lim_log(pMac, LOGW,
|
|
|
+ session = pe_find_session_by_sme_session_id(mac_ctx, msg->session_id);
|
|
|
+ if (!session) {
|
|
|
+ lim_log(mac_ctx, LOGW,
|
|
|
"Session does not exist for given sessionId %d",
|
|
|
- pUpdateParams->sessionId);
|
|
|
+ msg->session_id);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (psessionEntry->ssidHidden != pUpdateParams->ssidHidden) {
|
|
|
- /* Update the session entry */
|
|
|
- psessionEntry->ssidHidden = pUpdateParams->ssidHidden;
|
|
|
- } else {
|
|
|
- lim_log(pMac, LOG1, FL("Same config already present!"));
|
|
|
- return;
|
|
|
+ lim_log(mac_ctx, LOG1, FL("received SME Session update for %d val %d"),
|
|
|
+ msg->param_type, msg->param_val);
|
|
|
+ switch (msg->param_type) {
|
|
|
+ case SIR_PARAM_SSID_HIDDEN:
|
|
|
+ lim_handle_update_ssid_hidden(mac_ctx, session, msg->param_val);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ lim_log(mac_ctx, LOGE, FL("Unknown session param"));
|
|
|
+ break;
|
|
|
}
|
|
|
-
|
|
|
- /* Send vdev restart */
|
|
|
- lim_send_vdev_restart(pMac, psessionEntry, pUpdateParams->sessionId);
|
|
|
-
|
|
|
- /* Update beacon */
|
|
|
- sch_set_fixed_beacon_fields(pMac, psessionEntry);
|
|
|
- lim_send_beacon_ind(pMac, psessionEntry);
|
|
|
-
|
|
|
- return;
|
|
|
-} /*** end __lim_process_sme_hide_ssid(tpAniSirGlobal pMac, uint32_t *pMsgBuf) ***/
|
|
|
+}
|
|
|
|
|
|
static void __lim_process_sme_set_wparsni_es(tpAniSirGlobal pMac, uint32_t *pMsgBuf)
|
|
|
{
|
|
@@ -5259,8 +5289,8 @@ bool lim_process_sme_req_messages(tpAniSirGlobal pMac, tpSirMsgQ pMsg)
|
|
|
lim_process_tkip_counter_measures(pMac, pMsgBuf);
|
|
|
break;
|
|
|
|
|
|
- case eWNI_SME_HIDE_SSID_REQ:
|
|
|
- __lim_process_sme_hide_ssid(pMac, pMsgBuf);
|
|
|
+ case eWNI_SME_SESSION_UPDATE_PARAM:
|
|
|
+ __lim_process_sme_session_update(pMac, pMsgBuf);
|
|
|
break;
|
|
|
case eWNI_SME_ROAM_SCAN_OFFLOAD_REQ:
|
|
|
__lim_process_roam_scan_offload_req(pMac, pMsgBuf);
|