diff --git a/umac/cmn_services/interface_mgr/inc/wlan_if_mgr_public_struct.h b/umac/cmn_services/interface_mgr/inc/wlan_if_mgr_public_struct.h index 9ea66aa546..c9b9caf421 100644 --- a/umac/cmn_services/interface_mgr/inc/wlan_if_mgr_public_struct.h +++ b/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 diff --git a/umac/cmn_services/interface_mgr/src/wlan_if_mgr_core.c b/umac/cmn_services/interface_mgr/src/wlan_if_mgr_core.c index d3b20c873e..43f73b0ea4 100644 --- a/umac/cmn_services/interface_mgr/src/wlan_if_mgr_core.c +++ b/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");