|
@@ -72,6 +72,7 @@ enum vdev_cmd_type {
|
|
* MLME up operation
|
|
* MLME up operation
|
|
* @mlme_vdev_notify_up_complete: callback to notify VDEV MLME on moving
|
|
* @mlme_vdev_notify_up_complete: callback to notify VDEV MLME on moving
|
|
* to UP state
|
|
* to UP state
|
|
|
|
+ * @mlme_vdev_notify_roam_start: callback to initiate roaming
|
|
* @mlme_vdev_update_beacon: callback to initiate beacon update
|
|
* @mlme_vdev_update_beacon: callback to initiate beacon update
|
|
* @mlme_vdev_disconnect_peers: callback to initiate disconnection of
|
|
* @mlme_vdev_disconnect_peers: callback to initiate disconnection of
|
|
* peers
|
|
* peers
|
|
@@ -123,6 +124,9 @@ struct vdev_mlme_ops {
|
|
QDF_STATUS (*mlme_vdev_notify_up_complete)(
|
|
QDF_STATUS (*mlme_vdev_notify_up_complete)(
|
|
struct vdev_mlme_obj *vdev_mlme,
|
|
struct vdev_mlme_obj *vdev_mlme,
|
|
uint16_t event_data_len, void *event_data);
|
|
uint16_t event_data_len, void *event_data);
|
|
|
|
+ QDF_STATUS (*mlme_vdev_notify_roam_start)(
|
|
|
|
+ struct vdev_mlme_obj *vdev_mlme,
|
|
|
|
+ uint16_t event_data_len, void *event_data);
|
|
QDF_STATUS (*mlme_vdev_update_beacon)(
|
|
QDF_STATUS (*mlme_vdev_update_beacon)(
|
|
struct vdev_mlme_obj *vdev_mlme,
|
|
struct vdev_mlme_obj *vdev_mlme,
|
|
enum beacon_update_op op,
|
|
enum beacon_update_op op,
|
|
@@ -401,19 +405,44 @@ static inline QDF_STATUS mlme_vdev_up_send(
|
|
* Return: SUCCESS on successful completion of up notification
|
|
* Return: SUCCESS on successful completion of up notification
|
|
* FAILURE, if it fails due to any
|
|
* FAILURE, if it fails due to any
|
|
*/
|
|
*/
|
|
-static inline QDF_STATUS mlme_vdev_notify_up_complete(
|
|
|
|
- struct vdev_mlme_obj *vdev_mlme,
|
|
|
|
|
|
+static inline
|
|
|
|
+QDF_STATUS mlme_vdev_notify_up_complete(struct vdev_mlme_obj *vdev_mlme,
|
|
uint16_t event_data_len, void *event_data)
|
|
uint16_t event_data_len, void *event_data)
|
|
{
|
|
{
|
|
QDF_STATUS ret = QDF_STATUS_SUCCESS;
|
|
QDF_STATUS ret = QDF_STATUS_SUCCESS;
|
|
|
|
|
|
- if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_notify_up_complete)
|
|
|
|
|
|
+ if (vdev_mlme->ops && vdev_mlme->ops->mlme_vdev_notify_up_complete)
|
|
ret = vdev_mlme->ops->mlme_vdev_notify_up_complete(
|
|
ret = vdev_mlme->ops->mlme_vdev_notify_up_complete(
|
|
vdev_mlme, event_data_len, event_data);
|
|
vdev_mlme, event_data_len, event_data);
|
|
|
|
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * mlme_vdev_notify_roam_start - VDEV Roaming notification
|
|
|
|
+ * @vdev_mlme_obj: VDEV MLME comp object
|
|
|
|
+ * @event_len: data size
|
|
|
|
+ * @event_data: event data
|
|
|
|
+ *
|
|
|
|
+ * API notifies MLME on roaming
|
|
|
|
+ *
|
|
|
|
+ * Return: SUCCESS on successful completion of up notification
|
|
|
|
+ * FAILURE, if it fails due to any
|
|
|
|
+ */
|
|
|
|
+static inline
|
|
|
|
+QDF_STATUS mlme_vdev_notify_roam_start(struct vdev_mlme_obj *vdev_mlme,
|
|
|
|
+ uint16_t event_len, void *event_data)
|
|
|
|
+{
|
|
|
|
+ QDF_STATUS ret = QDF_STATUS_SUCCESS;
|
|
|
|
+
|
|
|
|
+ if (vdev_mlme->ops && vdev_mlme->ops->mlme_vdev_notify_roam_start)
|
|
|
|
+ ret = vdev_mlme->ops->mlme_vdev_notify_roam_start(vdev_mlme,
|
|
|
|
+ event_len,
|
|
|
|
+ event_data);
|
|
|
|
+
|
|
|
|
+ return ret;
|
|
|
|
+}
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* mlme_vdev_update_beacon - Updates beacon
|
|
* mlme_vdev_update_beacon - Updates beacon
|
|
* @vdev_mlme_obj: VDEV MLME comp object
|
|
* @vdev_mlme_obj: VDEV MLME comp object
|
|
@@ -426,14 +455,14 @@ static inline QDF_STATUS mlme_vdev_notify_up_complete(
|
|
* Return: SUCCESS on successful update of beacon
|
|
* Return: SUCCESS on successful update of beacon
|
|
* FAILURE, if it fails due to any
|
|
* FAILURE, if it fails due to any
|
|
*/
|
|
*/
|
|
-static inline QDF_STATUS mlme_vdev_update_beacon(
|
|
|
|
- struct vdev_mlme_obj *vdev_mlme,
|
|
|
|
- enum beacon_update_op op,
|
|
|
|
- uint16_t event_data_len, void *event_data)
|
|
|
|
|
|
+static inline
|
|
|
|
+QDF_STATUS mlme_vdev_update_beacon(struct vdev_mlme_obj *vdev_mlme,
|
|
|
|
+ enum beacon_update_op op,
|
|
|
|
+ uint16_t event_data_len, void *event_data)
|
|
{
|
|
{
|
|
QDF_STATUS ret = QDF_STATUS_SUCCESS;
|
|
QDF_STATUS ret = QDF_STATUS_SUCCESS;
|
|
|
|
|
|
- if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_update_beacon)
|
|
|
|
|
|
+ if (vdev_mlme->ops && vdev_mlme->ops->mlme_vdev_update_beacon)
|
|
ret = vdev_mlme->ops->mlme_vdev_update_beacon(vdev_mlme, op,
|
|
ret = vdev_mlme->ops->mlme_vdev_update_beacon(vdev_mlme, op,
|
|
event_data_len, event_data);
|
|
event_data_len, event_data);
|
|
|
|
|