qcacld-3.0: Add GET_KEEP_ALIVE_INTERVAL command support
Add support to handle GET_KEEP_ALIVE_INETRVAL command. If received command in connected state return keep alive period configured to firmware but if command received in disconnected state, if user space has set keep alive period then return the user space configured value or else return INI configured value. Change-Id: I5d386ecd141531795b471198bd70afa20210bdc5 CRs-Fixed: 3818096
This commit is contained in:

committed by
Ravindra Konda

parent
a3def36f0b
commit
b927e5af83
@@ -4985,4 +4985,21 @@ wlan_mlme_send_csa_event_status_ind(struct wlan_objmgr_vdev *vdev,
|
||||
QDF_STATUS
|
||||
wlan_mlme_is_hs_20_btm_offload_disabled(struct wlan_objmgr_psoc *psoc,
|
||||
bool *val);
|
||||
/**
|
||||
* wlan_mlme_set_keepalive_period() - Save keep alive period
|
||||
* @vdev: VDEV object
|
||||
* @keep_alive_period: Keep alive period
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void wlan_mlme_set_keepalive_period(struct wlan_objmgr_vdev *vdev,
|
||||
uint16_t keep_alive_period);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_keepalive_period() - Get keep alive period
|
||||
* @vdev: VDEV object
|
||||
*
|
||||
* Return: Keep alive period.
|
||||
*/
|
||||
uint16_t wlan_mlme_get_keepalive_period(struct wlan_objmgr_vdev *vdev);
|
||||
#endif /* _WLAN_MLME_API_H_ */
|
||||
|
@@ -5436,4 +5436,16 @@ ucfg_mlme_assemble_rate_code(uint8_t preamble, uint8_t nss, uint8_t rate)
|
||||
{
|
||||
return wlan_mlme_assemble_rate_code(preamble, nss, rate);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_keepalive_period() - Get keep alive period
|
||||
* @vdev: VDEV object
|
||||
*
|
||||
* Return: Keep alive period.
|
||||
*/
|
||||
static inline
|
||||
uint16_t ucfg_mlme_get_keepalive_period(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
return wlan_mlme_get_keepalive_period(vdev);
|
||||
}
|
||||
#endif /* _WLAN_MLME_UCFG_API_H_ */
|
||||
|
@@ -8406,3 +8406,29 @@ wlan_mlme_is_hs_20_btm_offload_disabled(struct wlan_objmgr_psoc *psoc,
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
void wlan_mlme_set_keepalive_period(struct wlan_objmgr_vdev *vdev,
|
||||
uint16_t keep_alive_period)
|
||||
{
|
||||
struct mlme_legacy_priv *mlme_priv;
|
||||
|
||||
mlme_priv = wlan_vdev_mlme_get_ext_hdl(vdev);
|
||||
if (!mlme_priv) {
|
||||
mlme_err("vdev legacy private object is NULL");
|
||||
return;
|
||||
}
|
||||
|
||||
mlme_priv->keep_alive_period = keep_alive_period;
|
||||
}
|
||||
|
||||
uint16_t wlan_mlme_get_keepalive_period(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct mlme_legacy_priv *mlme_priv;
|
||||
|
||||
mlme_priv = wlan_vdev_mlme_get_ext_hdl(vdev);
|
||||
if (!mlme_priv) {
|
||||
mlme_err("vdev legacy private object is NULL");
|
||||
return 0;
|
||||
}
|
||||
|
||||
return mlme_priv->keep_alive_period;
|
||||
}
|
||||
|
Reference in New Issue
Block a user