qcacld-3.0: Allow only one twt statistics and clear statistics command
Don't allow twt statistics or clear statistics command if twt statistics or clear statistics is in_progress. As a Fix, reject the new twt statistic or clear statistic command till existing twt statistic or clear statistic command completion. Change-Id: I710a81ae3409f181689b2e4c9e9d4e583d4aadab CRs-Fixed: 2870592
Этот коммит содержится в:

коммит произвёл
snandini

родитель
f04c7cf753
Коммит
cb6debaf81
@@ -29,16 +29,20 @@
|
||||
* @WLAN_TWT_SUSPEND: TWT suspend
|
||||
* @WLAN_TWT_RESUME: TWT resume
|
||||
* @WLAN_TWT_NUDGE: TWT nudge
|
||||
* @WLAN_TWT_STATISTICS: TWT statistics
|
||||
* @WLAN_TWT_CLEAR_STATISTICS: TWT clear statistics
|
||||
* @WLAN_TWT_ANY: Indicates one of the commands is in progress.
|
||||
*/
|
||||
enum wlan_twt_commands {
|
||||
WLAN_TWT_NONE = 0,
|
||||
WLAN_TWT_SETUP = BIT(0),
|
||||
WLAN_TWT_TERMINATE = BIT(1),
|
||||
WLAN_TWT_SUSPEND = BIT(2),
|
||||
WLAN_TWT_RESUME = BIT(3),
|
||||
WLAN_TWT_NUDGE = BIT(4),
|
||||
WLAN_TWT_ANY = 0xFF,
|
||||
WLAN_TWT_NONE = 0,
|
||||
WLAN_TWT_SETUP = BIT(0),
|
||||
WLAN_TWT_TERMINATE = BIT(1),
|
||||
WLAN_TWT_SUSPEND = BIT(2),
|
||||
WLAN_TWT_RESUME = BIT(3),
|
||||
WLAN_TWT_NUDGE = BIT(4),
|
||||
WLAN_TWT_STATISTICS = BIT(5),
|
||||
WLAN_TWT_CLEAR_STATISTICS = BIT(6),
|
||||
WLAN_TWT_ANY = 0xFF,
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -240,6 +240,34 @@ ucfg_mlme_is_twt_setup_in_progress(struct wlan_objmgr_psoc *psoc,
|
||||
return mlme_is_twt_setup_in_progress(psoc, peer_mac, dialog_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_twt_is_command_in_progress() - Get TWT command in progress
|
||||
* @psoc: Pointer to global PSOC object
|
||||
* @peer_mac: Global peer mac address
|
||||
* @dialog_id: TWT session dialog id
|
||||
* @cmd: TWT command
|
||||
*
|
||||
* Return: True if given command is in progress
|
||||
*/
|
||||
|
||||
static inline bool
|
||||
ucfg_mlme_twt_is_command_in_progress(struct wlan_objmgr_psoc *psoc,
|
||||
struct qdf_mac_addr *peer_mac,
|
||||
uint8_t dialog_id,
|
||||
enum wlan_twt_commands cmd)
|
||||
{
|
||||
return mlme_twt_is_command_in_progress(psoc, peer_mac, dialog_id, cmd);
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_set_twt_command_in_progress(struct wlan_objmgr_psoc *psoc,
|
||||
struct qdf_mac_addr *peer_mac,
|
||||
uint8_t dialog_id,
|
||||
enum wlan_twt_commands cmd)
|
||||
{
|
||||
return mlme_set_twt_command_in_progress(psoc, peer_mac, dialog_id, cmd);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_set_twt_setup_done() - Set TWT setup done flag
|
||||
* @psoc: Pointer to global PSOC object
|
||||
@@ -505,6 +533,24 @@ ucfg_mlme_is_twt_setup_in_progress(struct wlan_objmgr_psoc *psoc,
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_set_twt_command_in_progress(struct wlan_objmgr_psoc *psoc,
|
||||
struct qdf_mac_addr *peer_mac,
|
||||
uint8_t dialog_id,
|
||||
enum wlan_twt_commands cmd)
|
||||
{
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
ucfg_mlme_twt_is_command_in_progress(struct wlan_objmgr_psoc *psoc,
|
||||
struct qdf_mac_addr *peer_mac,
|
||||
uint8_t dialog_id,
|
||||
enum wlan_twt_commands cmd)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_get_twt_bcast_requestor(struct wlan_objmgr_psoc *psoc,
|
||||
bool *val)
|
||||
|
Ссылка в новой задаче
Block a user