Selaa lähdekoodia

qcacmn: Assign the bss validation event in if_mgr

Assign the candidate validation event handler in the interface
manager. Modify the event data structure to carry information
about the candidate that needs validation.

Change-Id: I6091496df72de34177d4bf5cdfa6fe2db1385084
CRs-fixed: 2774548
Lincoln Tran 4 vuotta sitten
vanhempi
sitoutus
2d6c178775

+ 12 - 0
umac/cmn_services/interface_mgr/inc/wlan_if_mgr_public_struct.h

@@ -53,13 +53,25 @@ enum wlan_if_mgr_evt {
 	WLAN_IF_MGR_EV_MAX = 9,
 };
 
+/**
+ * struct validate_bss_data - interface manager validate candidate data
+ * @peer_addr: MAC address of the BSS
+ * @chan_freq: Frequency of the potential BSS connection
+ */
+struct validate_bss_data {
+	struct qdf_mac_addr peer_addr;
+	uint32_t chan_freq;
+};
+
 /**
  * struct if_mgr_event_data - interface manager event data
  * @status: qdf status used to indicate if connect,disconnect,
  *	    start bss,stop bss event is success/failure.
+ * @validate_bss_info: struct to hold the validate candidate information
  */
 struct if_mgr_event_data {
 	QDF_STATUS status;
+	struct validate_bss_data validate_bss_info;
 };
 
 #endif

+ 4 - 0
umac/cmn_services/interface_mgr/src/wlan_if_mgr_core.c

@@ -22,6 +22,7 @@
 #include "wlan_if_mgr_sta.h"
 #include "wlan_if_mgr_ap.h"
 #include "wlan_if_mgr_main.h"
+#include "wlan_if_mgr_roam.h"
 
 QDF_STATUS if_mgr_deliver_event(struct wlan_objmgr_vdev *vdev,
 				enum wlan_if_mgr_evt event,
@@ -59,6 +60,9 @@ QDF_STATUS if_mgr_deliver_event(struct wlan_objmgr_vdev *vdev,
 	case WLAN_IF_MGR_EV_DISCONNECT_COMPLETE:
 		status = if_mgr_disconnect_complete(vdev, event_data);
 		break;
+	case WLAN_IF_MGR_EV_VALIDATE_CANDIDATE:
+		status = if_mgr_validate_candidate(vdev, event_data);
+		break;
 	default:
 		status = QDF_STATUS_E_INVAL;
 		ifmgr_err("Invalid event");