qcacmn: Assign disconnect event handler

Assign the disconnect start and disconnect complete event handler
in the interface manager.

This change is part of the interface manager effort.

Change-Id: I6885c2ace59fa0f305e45d421d158bef02aa937b
CRs-fixed: 2760080
This commit is contained in:
Lincoln Tran
2020-08-20 16:08:02 -07:00
committed by snandini
parent d69cadae0c
commit 0e8995bde7
3 changed files with 40 additions and 1 deletions

View File

@@ -49,4 +49,33 @@ QDF_STATUS if_mgr_connect_start(struct wlan_objmgr_vdev *vdev,
QDF_STATUS if_mgr_connect_complete(struct wlan_objmgr_vdev *vdev,
struct if_mgr_event_data *event_data);
/**
* if_mgr_disconnect_start() - Disconnect start event handler
* @vdev: vdev object
* @event_data: Interface mgr event data
*
* This function handles the disconnect start event for interface manager
*
* Context: It should run in thread context
*
* Return: QDF_STATUS
*/
QDF_STATUS if_mgr_disconnect_start(struct wlan_objmgr_vdev *vdev,
void *event_data);
/**
* if_mgr_disconnect_complete() - Disconnect complete event handler
* @vdev: vdev object
* @event_data: Interface mgr event data
*
* This function handles the disconnect complete event for interface
* manager
*
* Context: It should run in thread context
*
* Return: QDF_STATUS
*/
QDF_STATUS if_mgr_disconnect_complete(struct wlan_objmgr_vdev *vdev,
void *event_data);
#endif

View File

@@ -52,6 +52,13 @@ QDF_STATUS if_mgr_deliver_event(struct wlan_objmgr_vdev *vdev,
break;
case WLAN_IF_MGR_EV_AP_STOP_BSS_COMPLETE:
status = if_mgr_ap_stop_bss_complete(vdev, event_data);
break;
case WLAN_IF_MGR_EV_DISCONNECT_START:
status = if_mgr_disconnect_start(vdev, event_data);
break;
case WLAN_IF_MGR_EV_DISCONNECT_COMPLETE:
status = if_mgr_disconnect_complete(vdev, event_data);
break;
default:
status = QDF_STATUS_E_INVAL;
ifmgr_err("Invalid event");

View File

@@ -269,6 +269,7 @@ typedef void (*wlan_objmgr_peer_status_handler)(
* @WLAN_DCS_ID: DCS operations
* @WLAN_IOT_SIM_ID: IOT Simulation feature
* @WLAN_MLME_CM_ID Connection Manager reference ID
* @WLAN_IF_MGR_ID: Interface manager reference ID
* @WLAN_REF_ID_MAX: Max id used to generate ref count tracking array
*/
/* New value added to the enum must also be reflected in function
@@ -353,6 +354,7 @@ typedef enum {
WLAN_DCS_ID = 75,
WLAN_IOT_SIM_ID = 76,
WLAN_MLME_CM_ID = 77,
WLAN_IF_MGR_ID = 78,
WLAN_REF_ID_MAX,
} wlan_objmgr_ref_dbgid;
@@ -443,7 +445,8 @@ static inline const char *string_from_dbgid(wlan_objmgr_ref_dbgid id)
"WLAN_PKT_CAPTURE_ID",
"WLAN_DCS_ID",
"WLAN_IOT_SIM_ID",
"WLAN_MLME_CM_ID"};
"WLAN_MLME_CM_ID",
"WLAN_IF_MGR_ID"};
if (id >= WLAN_REF_ID_MAX)
return "Unknown";