فهرست منبع

qcacld-3.0: Set peer state to AUTHORIZE after 4way handshake

Firmware peer state needs to be set to AUTHORIZE only after
completing the 4 way handshake. In failure scenario,
host configured AUTHORIZE state before 4 way handshake and
it triggered assert in the firmware.

Peer state moved to connection in progress/CONN after successful
association and AUTH state after successful 4way handshake.

Change-Id: I5e3d94843443d0fc2612a918b5c14479f91914d8
CRs-Fixed: 2580929
Sandeep Puligilla 5 سال پیش
والد
کامیت
0f54d03172
1فایلهای تغییر یافته به همراه11 افزوده شده و 6 حذف شده
  1. 11 6
      core/hdd/src/wlan_hdd_assoc.c

+ 11 - 6
core/hdd/src/wlan_hdd_assoc.c

@@ -2050,23 +2050,26 @@ QDF_STATUS hdd_update_dp_vdev_flags(void *cbk_data,
  * @adapter: pointer to adapter
  * @roam_info: pointer to roam info
  * @mac_addr: peer mac address
+ * @sta_state: peer state
  *
  * Return: QDF_STATUS enumeration
  */
 #ifdef WLAN_FEATURE_ROAM_OFFLOAD
 static QDF_STATUS hdd_conn_change_peer_state(struct hdd_adapter *adapter,
 					     struct csr_roam_info *roam_info,
-					     uint8_t *mac_addr)
+					     uint8_t *mac_addr,
+					     enum ol_txrx_peer_state sta_state)
 {
-	return hdd_change_peer_state(adapter, mac_addr, OL_TXRX_PEER_STATE_AUTH,
+	return hdd_change_peer_state(adapter, mac_addr, sta_state,
 				     roam_info->roamSynchInProgress);
 }
 #else
 static QDF_STATUS hdd_conn_change_peer_state(struct hdd_adapter *adapter,
 					     struct csr_roam_info *roam_info,
-					     uint8_t *mac_addr)
+					     uint8_t *mac_addr,
+					     enum ol_txrx_peer_state sta_state)
 {
-	return hdd_change_peer_state(adapter, mac_addr, OL_TXRX_PEER_STATE_AUTH,
+	return hdd_change_peer_state(adapter, mac_addr, sta_state,
 				     false);
 }
 #endif
@@ -2162,7 +2165,8 @@ QDF_STATUS hdd_roam_register_sta(struct hdd_adapter *adapter,
 		 */
 		qdf_status = hdd_conn_change_peer_state(
 						adapter, roam_info,
-						txrx_desc.peer_addr.bytes);
+						txrx_desc.peer_addr.bytes,
+						OL_TXRX_PEER_STATE_AUTH);
 
 		hdd_conn_set_authenticated(adapter, true);
 		hdd_objmgr_set_peer_mlme_auth_state(adapter->vdev, true);
@@ -2173,7 +2177,8 @@ QDF_STATUS hdd_roam_register_sta(struct hdd_adapter *adapter,
 
 		qdf_status = hdd_conn_change_peer_state(
 						adapter, roam_info,
-						txrx_desc.peer_addr.bytes);
+						txrx_desc.peer_addr.bytes,
+						OL_TXRX_PEER_STATE_CONN);
 
 		hdd_conn_set_authenticated(adapter, false);
 		hdd_objmgr_set_peer_mlme_auth_state(adapter->vdev, false);