qcacmn: Add start/stop bss changes in interface mgr
- Add start/stop bss event processing Change-Id: I7d0b786567229f4d683b72981f7f52e93e785c73 CRs-Fixed: 2759986
Cette révision appartient à :

révisé par
snandini

Parent
907c485706
révision
21bf0386f0
@@ -22,16 +22,63 @@
|
||||
#define _WLAN_IF_MGR_AP_H_
|
||||
|
||||
/**
|
||||
* wlan_process_start_bss_start() - Start BSS event handler
|
||||
*
|
||||
* Interface manager connect start bss event handler
|
||||
*
|
||||
* if_mgr_ap_start_bss() - Start BSS event handler
|
||||
* @vdev: vdev object
|
||||
* @event_data: Interface mgr event data
|
||||
*
|
||||
* Interface manager start bss event handler
|
||||
*
|
||||
* Context: It should run in thread context
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS wlan_process_ap_start_bss(struct wlan_objmgr_vdev *vdev,
|
||||
struct if_mgr_event_data *event_data);
|
||||
QDF_STATUS
|
||||
if_mgr_ap_start_bss(struct wlan_objmgr_vdev *vdev,
|
||||
struct if_mgr_event_data *event_data);
|
||||
|
||||
/**
|
||||
* if_mgr_ap_start_bss_complete() - Start BSS complete event handler
|
||||
* @vdev: vdev object
|
||||
* @event_data: Interface mgr event data
|
||||
*
|
||||
* Interface manager start bss complete event handler
|
||||
*
|
||||
* Context: It should run in thread context
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
if_mgr_ap_start_bss_complete(struct wlan_objmgr_vdev *vdev,
|
||||
struct if_mgr_event_data *event_data);
|
||||
|
||||
/**
|
||||
* if_mgr_ap_stop_bss() - Stop BSS event handler
|
||||
* @vdev: vdev object
|
||||
* @event_data: Interface mgr event data
|
||||
*
|
||||
* Interface manager stop bss event handler
|
||||
*
|
||||
* Context: It should run in thread context
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
if_mgr_ap_stop_bss(struct wlan_objmgr_vdev *vdev,
|
||||
struct if_mgr_event_data *event_data);
|
||||
|
||||
/**
|
||||
* if_mgr_ap_stop_bss_complete() - Stop BSS event complete handler
|
||||
* @vdev: vdev object
|
||||
* @event_data: Interface mgr event data
|
||||
*
|
||||
* Interface manager stop bss complete event handler
|
||||
*
|
||||
* Context: It should run in thread context
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
if_mgr_ap_stop_bss_complete(struct wlan_objmgr_vdev *vdev,
|
||||
struct if_mgr_event_data *event_data);
|
||||
|
||||
#endif
|
||||
|
@@ -30,15 +30,15 @@
|
||||
|
||||
/**
|
||||
* enum wlan_if_mgr_evt: interface manager events
|
||||
* @WLAN_IF_MGR_EV_CONNECT_START:
|
||||
* @WLAN_IF_MGR_EV_CONNECT_COMPLETE:
|
||||
* @WLAN_IF_MGR_EV_DISCONNECT_START:
|
||||
* @WLAN_IF_MGR_EV_DISCONNECT_COMPLETE:
|
||||
* @WLAN_IF_MGR_EV_VALIDATE_CANDIDATE:
|
||||
* @WLAN_IF_MGR_EV_AP_START_BSS:
|
||||
* @WLAN_IF_MGR_EV_AP_START_COMPLETE:
|
||||
* @WLAN_IF_MGR_EV_AP_STOP_BSS:
|
||||
* @WLAN_IF_MGR_EV_AP_STOP_COMPLETE:
|
||||
* @WLAN_IF_MGR_EV_CONNECT_START:Event to handle connect start request
|
||||
* @WLAN_IF_MGR_EV_CONNECT_COMPLETE:Event to handle connect start complete
|
||||
* @WLAN_IF_MGR_EV_DISCONNECT_START:Event to handle disconnect start request
|
||||
* @WLAN_IF_MGR_EV_DISCONNECT_COMPLETE:Event to handle disconnect start complete
|
||||
* @WLAN_IF_MGR_EV_VALIDATE_CANDIDATE:Event to validate candidate
|
||||
* @WLAN_IF_MGR_EV_AP_START_BSS:Event to handle start bss request
|
||||
* @WLAN_IF_MGR_EV_AP_START_BSS_COMPLETE:Event to handle start bss complete
|
||||
* @WLAN_IF_MGR_EV_AP_STOP_BSS:Event to handle stop bss request
|
||||
* @WLAN_IF_MGR_EV_AP_STOP_BSS_COMPLETE:Event to stop bss complete
|
||||
*/
|
||||
enum wlan_if_mgr_evt {
|
||||
WLAN_IF_MGR_EV_CONNECT_START = 0,
|
||||
@@ -47,15 +47,16 @@ enum wlan_if_mgr_evt {
|
||||
WLAN_IF_MGR_EV_DISCONNECT_COMPLETE = 3,
|
||||
WLAN_IF_MGR_EV_VALIDATE_CANDIDATE = 4,
|
||||
WLAN_IF_MGR_EV_AP_START_BSS = 5,
|
||||
WLAN_IF_MGR_EV_AP_START_COMPLETE = 6,
|
||||
WLAN_IF_MGR_EV_AP_START_BSS_COMPLETE = 6,
|
||||
WLAN_IF_MGR_EV_AP_STOP_BSS = 7,
|
||||
WLAN_IF_MGR_EV_AP_STOP_COMPLETE = 8,
|
||||
WLAN_IF_MGR_EV_AP_STOP_BSS_COMPLETE = 8,
|
||||
WLAN_IF_MGR_EV_MAX = 9,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct if_mgr_event_data - interface manager event data
|
||||
* @status: status
|
||||
* @status: qdf status used to indicate if connect,disconnect,
|
||||
* start bss,stop bss event is success/failure.
|
||||
*/
|
||||
struct if_mgr_event_data {
|
||||
QDF_STATUS status;
|
||||
|
@@ -22,29 +22,31 @@
|
||||
#define _WLAN_IF_MGR_STA_H_
|
||||
|
||||
/**
|
||||
* wlan_process_connect_start() - connect start event handler
|
||||
*
|
||||
* Interface manager connect start event handler
|
||||
*
|
||||
* if_mgr_connect_start() - connect start event handler
|
||||
* @vdev: vdev object
|
||||
* @event_data: Interface mgr event data
|
||||
*
|
||||
* Interface manager connect start event handler
|
||||
*
|
||||
* Context: It should run in thread context
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS wlan_process_connect_start(struct wlan_objmgr_vdev *vdev,
|
||||
struct if_mgr_event_data *event_data);
|
||||
QDF_STATUS if_mgr_connect_start(struct wlan_objmgr_vdev *vdev,
|
||||
struct if_mgr_event_data *event_data);
|
||||
|
||||
/**
|
||||
* wlan_process_connect_complete() - connect complete event handler
|
||||
*
|
||||
* Interface manager connect complete event handler
|
||||
*
|
||||
* if_mgr_connect_complete() - connect complete event handler
|
||||
* @vdev: vdev object
|
||||
* @event_data: Interface manager complete event data
|
||||
*
|
||||
* Interface manager connect complete event handler
|
||||
*
|
||||
* Context: It should run in thread context
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS wlan_process_connect_complete(struct wlan_objmgr_vdev *vdev,
|
||||
struct if_mgr_event_data *event_data);
|
||||
QDF_STATUS if_mgr_connect_complete(struct wlan_objmgr_vdev *vdev,
|
||||
struct if_mgr_event_data *event_data);
|
||||
|
||||
#endif
|
||||
|
@@ -21,12 +21,14 @@
|
||||
#include "wlan_if_mgr_api.h"
|
||||
#include "wlan_if_mgr_sta.h"
|
||||
#include "wlan_if_mgr_ap.h"
|
||||
#include "wlan_if_mgr_main.h"
|
||||
|
||||
QDF_STATUS if_mgr_deliver_event(struct wlan_objmgr_vdev *vdev,
|
||||
enum wlan_if_mgr_evt event,
|
||||
struct if_mgr_event_data *event_data)
|
||||
{
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
QDF_STATUS status;
|
||||
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
if (!psoc)
|
||||
@@ -34,20 +36,27 @@ QDF_STATUS if_mgr_deliver_event(struct wlan_objmgr_vdev *vdev,
|
||||
|
||||
switch (event) {
|
||||
case WLAN_IF_MGR_EV_CONNECT_START:
|
||||
wlan_process_connect_start(vdev, event_data);
|
||||
status = if_mgr_connect_start(vdev, event_data);
|
||||
break;
|
||||
|
||||
case WLAN_IF_MGR_EV_CONNECT_COMPLETE:
|
||||
wlan_process_connect_complete(vdev, event_data);
|
||||
status = if_mgr_connect_complete(vdev, event_data);
|
||||
break;
|
||||
|
||||
case WLAN_IF_MGR_EV_AP_START_BSS:
|
||||
wlan_process_ap_start_bss(vdev, event_data);
|
||||
status = if_mgr_ap_start_bss(vdev, event_data);
|
||||
break;
|
||||
|
||||
case WLAN_IF_MGR_EV_AP_START_BSS_COMPLETE:
|
||||
status = if_mgr_ap_start_bss_complete(vdev, event_data);
|
||||
break;
|
||||
case WLAN_IF_MGR_EV_AP_STOP_BSS:
|
||||
status = if_mgr_ap_stop_bss(vdev, event_data);
|
||||
break;
|
||||
case WLAN_IF_MGR_EV_AP_STOP_BSS_COMPLETE:
|
||||
status = if_mgr_ap_stop_bss_complete(vdev, event_data);
|
||||
default:
|
||||
status = QDF_STATUS_E_INVAL;
|
||||
ifmgr_err("Invalid event");
|
||||
break;
|
||||
}
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
return status;
|
||||
}
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur