qcacmn: Notify MLME about DFS CAC WAIT state

This change notifies MLME about DFS CAC WAIT state,
and removes code, which releases PDEV RESTART and
enqueues STOP-START command

Change-Id: Iaaf4b657c4f95330e3ac383adc74211b23006718
CRs-Fixed: 2862724
This commit is contained in:
Srinivas Pitla
2021-01-20 13:13:10 -08:00
کامیت شده توسط snandini
والد 7d38880a19
کامیت ef51b2343f
3فایلهای تغییر یافته به همراه14 افزوده شده و 15 حذف شده

مشاهده پرونده

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -335,6 +335,10 @@ static bool mlme_vdev_state_dfs_cac_wait_event(void *ctx, uint16_t event,
switch (event) {
case WLAN_VDEV_SM_EV_DFS_CAC_WAIT:
/* Notify MLME about CAC wait state, MLME can perform
* unblocking of some commands
*/
mlme_vdev_dfs_cac_wait_notify(vdev_mlme);
/* DFS timer should have started already, then only this event
* could have been triggered
*/
@@ -1413,8 +1417,7 @@ static bool mlme_vdev_subst_suspend_csa_restart_event(void *ctx,
mlme_vdev_sm_deliver_event(vdev_mlme,
WLAN_VDEV_SM_EV_RESTART_REQ,
event_data_len, event_data);
} else if (mlme_vdev_replace_csa_with_stop_start(vdev_mlme) ==
QDF_STATUS_E_NOSUPPORT) {
} else {
mlme_vdev_sm_transition_to
(vdev_mlme,
WLAN_VDEV_SS_SUSPEND_SUSPEND_RESTART);

مشاهده پرونده

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -581,22 +581,19 @@ static inline QDF_STATUS mlme_vdev_is_newchan_no_cac(
}
/**
* mlme_vdev_replace_csa_with_stop_start - Support to use stop-start instead of
* multivdev restart in CSA with DFS chan
* mlme_vdev_dfs_cac_wait_notify - Notifies DFS CAC wait state
* @vdev_mlme_obj: VDEV MLME comp object
*
* Return: NO_SUPPORT if the callback is not supported.
* SUCCESS if stop-start is enqueued, else FAILURE.
* SUCCESS if DFS CAC Wait notification handled by caller
*/
static inline QDF_STATUS mlme_vdev_replace_csa_with_stop_start(
static inline QDF_STATUS mlme_vdev_dfs_cac_wait_notify(
struct vdev_mlme_obj *vdev_mlme)
{
QDF_STATUS ret = QDF_STATUS_E_NOSUPPORT;
if ((vdev_mlme->ops) &&
vdev_mlme->ops->mlme_vdev_replace_csa_with_stop_start)
ret = vdev_mlme->ops->mlme_vdev_replace_csa_with_stop_start(
vdev_mlme);
if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_dfs_cac_wait_notify)
ret = vdev_mlme->ops->mlme_vdev_dfs_cac_wait_notify(vdev_mlme);
return ret;
}