瀏覽代碼

qcacld-3.0: Fix compilation error in connection manager

Fix compilation error in connection manager.

Change-Id: I4350c594507c25d9652e39ae3ada1f4bdc4d89fc
CRs-Fixed: 2856511
gaurank kathpalia 4 年之前
父節點
當前提交
c4378606c7

+ 10 - 0
components/umac/mlme/connection_mgr/core/src/wlan_cm_vdev_connect.c

@@ -120,6 +120,7 @@ QDF_STATUS wlan_cm_send_connect_rsp(struct scheduler_msg *msg)
 	struct cm_vdev_join_rsp *rsp;
 	struct wlan_objmgr_vdev *vdev;
 	QDF_STATUS status;
+	struct wlan_objmgr_peer *peer;
 
 	if (!msg || !msg->bodyptr)
 		return QDF_STATUS_E_FAILURE;
@@ -136,6 +137,15 @@ QDF_STATUS wlan_cm_send_connect_rsp(struct scheduler_msg *msg)
 		return QDF_STATUS_E_INVAL;
 	}
 
+	/*  check and delete bss peer in case of failure */
+	if (QDF_IS_STATUS_ERROR(rsp->connect_rsp.connect_status)) {
+		peer = wlan_objmgr_vdev_try_get_bsspeer(vdev,
+							WLAN_MLME_CM_ID);
+		if (peer) {
+			cm_send_bss_peer_delete_req(vdev);
+			wlan_objmgr_peer_release_ref(peer, WLAN_MLME_CM_ID);
+		}
+	}
 	cm_csr_connect_rsp(vdev, rsp);
 	status = wlan_cm_connect_rsp(vdev, &rsp->connect_rsp);
 	wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_CM_ID);

+ 4 - 0
core/sme/inc/csr_neighbor_roam.h

@@ -383,6 +383,10 @@ static inline void csr_neighbor_roam_send_lfr_metric_event(
 		tSirMacAddr bssid, eRoamCmdStatus status)
 {}
 #endif
+
+QDF_STATUS csr_roam_start_wait_for_key_timer(struct mac_context *mac,
+					     uint8_t vdev_id,
+					     uint32_t interval);
 /**
  * csr_roam_stop_wait_for_key_timer - Stop wait_for_key timer
  * @mac: MAC context

+ 9 - 18
core/sme/src/csr/csr_api_roam.c

@@ -382,18 +382,6 @@ static void csr_roam_roaming_offload_timer_action(struct mac_context *mac_ctx,
 #endif
 static void csr_roam_roaming_offload_timeout_handler(void *timer_data);
 
-/**
- * csr_roam_start_wait_for_key_timer - Start wait_for_key timer
- * @mac: MAC context
- * @vdev_id: vdev id
- *
- * API called to start wait_for_key timer
- *
- * Return: QDF_STATUS
- */
-static QDF_STATUS csr_roam_start_wait_for_key_timer(struct mac_context *mac,
-						    uint8_t vdev_id,
-						    uint32_t interval);
 static void csr_roam_wait_for_key_time_out_handler(void *pv);
 static QDF_STATUS csr_init11d_info(struct mac_context *mac, tCsr11dinfo *ps11dinfo);
 static QDF_STATUS csr_init_channel_power_list(struct mac_context *mac,
@@ -3180,12 +3168,13 @@ void csr_get_sta_cxn_info(struct mac_context *mac_ctx,
 			     ((hw_mode != 0) ? "yes" : "no"));
 }
 #else
+#ifndef FEATURE_CM_ENABLE
 static void csr_connect_info(struct mac_context *mac_ctx,
 			     struct csr_roam_session *session,
 			     struct csr_roam_info *roam_info,
 			     eCsrRoamResult u2)
 {}
-
+#endif
 #endif
 
 QDF_STATUS csr_roam_call_callback(struct mac_context *mac, uint32_t sessionId,
@@ -9219,7 +9208,7 @@ csr_post_roam_failure(struct mac_context *mac_ctx,
 		csr_roam_complete(mac_ctx, eCsrJoinFailure, NULL, session_id);
 	}
 }
-#endif
+
 /**
  * csr_check_profile_in_scan_cache() - finds if roam profile is present in scan
  * cache or not
@@ -9262,6 +9251,7 @@ csr_check_profile_in_scan_cache(struct mac_context *mac_ctx,
 	}
 	return true;
 }
+#endif
 
 static
 QDF_STATUS csr_roam_lfr2_issue_connect(struct mac_context *mac,
@@ -12135,9 +12125,9 @@ void csr_roam_roaming_offload_timer_action(
 }
 #endif
 
-static QDF_STATUS csr_roam_start_wait_for_key_timer(struct mac_context *mac,
-						    uint8_t vdev_id,
-						    uint32_t interval)
+QDF_STATUS csr_roam_start_wait_for_key_timer(struct mac_context *mac,
+					     uint8_t vdev_id,
+					     uint32_t interval)
 {
 	QDF_STATUS status = QDF_STATUS_SUCCESS;
 	tpCsrNeighborRoamControlInfo roam_info;
@@ -13977,7 +13967,8 @@ static inline void csr_set_ese_assoc(struct mac_context *mac_ctx,
 #else
 static inline void csr_set_ese_assoc(struct mac_context *mac_ctx,
 				     tDot11fBeaconIEs *bcn_ies,
-				     tCsrRoamConnectedProfile *conn_profile)
+				     tCsrRoamConnectedProfile *conn_profile,
+				     uint8_t vdev_id)
 {}
 #endif
 

+ 2 - 0
core/sme/src/csr/csr_host_scan_roam.c

@@ -48,6 +48,8 @@ QDF_STATUS csr_roam_issue_reassociate(struct mac_context *mac, uint32_t vdev_id,
 	/* attempt to Join this BSS... */
 	return csr_send_join_req_msg(mac, vdev_id, bss_desc, roam_profile, ies,
 				     eWNI_SME_REASSOC_REQ);
+#else
+	return QDF_STATUS_SUCCESS;
 #endif
 }