qtnfmac: advertise support of inactivity timeout
Wireless device may implement a logic to kick-out STA due to inactivity for a certain period of time. This feature needs to be advertised to higher layers if supported. Timeout value is still taken from parameters to START_AP command, nothing changes here. Signed-off-by: Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:

committed by
Kalle Valo

parent
c35c0d54a7
commit
db5c6d4a9b
@@ -956,7 +956,10 @@ int qtnf_wiphy_register(struct qtnf_hw_info *hw_info, struct qtnf_wmac *mac)
|
|||||||
|
|
||||||
ether_addr_copy(wiphy->perm_addr, mac->macaddr);
|
ether_addr_copy(wiphy->perm_addr, mac->macaddr);
|
||||||
|
|
||||||
if (hw_info->hw_capab & QLINK_HW_SUPPORTS_REG_UPDATE) {
|
if (hw_info->hw_capab & QLINK_HW_CAPAB_STA_INACT_TIMEOUT)
|
||||||
|
wiphy->features |= NL80211_FEATURE_INACTIVITY_TIMER;
|
||||||
|
|
||||||
|
if (hw_info->hw_capab & QLINK_HW_CAPAB_REG_UPDATE) {
|
||||||
wiphy->regulatory_flags |= REGULATORY_STRICT_REG |
|
wiphy->regulatory_flags |= REGULATORY_STRICT_REG |
|
||||||
REGULATORY_CUSTOM_REG;
|
REGULATORY_CUSTOM_REG;
|
||||||
wiphy->reg_notifier = qtnf_cfg80211_reg_notifier;
|
wiphy->reg_notifier = qtnf_cfg80211_reg_notifier;
|
||||||
|
@@ -975,10 +975,11 @@ qtnf_cmd_resp_proc_hw_info(struct qtnf_bus *bus,
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
pr_info("fw_version=%d, MACs map %#x, alpha2=\"%c%c\", chains Tx=%u Rx=%u\n",
|
pr_info("fw_version=%d, MACs map %#x, alpha2=\"%c%c\", chains Tx=%u Rx=%u, capab=0x%x\n",
|
||||||
hwinfo->fw_ver, hwinfo->mac_bitmap,
|
hwinfo->fw_ver, hwinfo->mac_bitmap,
|
||||||
hwinfo->rd->alpha2[0], hwinfo->rd->alpha2[1],
|
hwinfo->rd->alpha2[0], hwinfo->rd->alpha2[1],
|
||||||
hwinfo->total_tx_chain, hwinfo->total_rx_chain);
|
hwinfo->total_tx_chain, hwinfo->total_rx_chain,
|
||||||
|
hwinfo->hw_capab);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@@ -61,8 +61,17 @@ struct qlink_msg_header {
|
|||||||
/* Generic definitions of data and information carried in QLINK messages
|
/* Generic definitions of data and information carried in QLINK messages
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum qlink_hw_capab - device capabilities.
|
||||||
|
*
|
||||||
|
* @QLINK_HW_CAPAB_REG_UPDATE: device can update it's regulatory region.
|
||||||
|
* @QLINK_HW_CAPAB_STA_INACT_TIMEOUT: device implements a logic to kick-out
|
||||||
|
* associated STAs due to inactivity. Inactivity timeout period is taken
|
||||||
|
* from QLINK_CMD_START_AP parameters.
|
||||||
|
*/
|
||||||
enum qlink_hw_capab {
|
enum qlink_hw_capab {
|
||||||
QLINK_HW_SUPPORTS_REG_UPDATE = BIT(0),
|
QLINK_HW_CAPAB_REG_UPDATE = BIT(0),
|
||||||
|
QLINK_HW_CAPAB_STA_INACT_TIMEOUT = BIT(1),
|
||||||
};
|
};
|
||||||
|
|
||||||
enum qlink_phy_mode {
|
enum qlink_phy_mode {
|
||||||
|
Reference in New Issue
Block a user