3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-12-22 21:22:37 +01:00

wiphy: parse NL80211_ATTR_ROAM_SUPPORT flag

This tells us if the hardware is going to automatically
roam. We need this to know if station roaming logic should
be disabled.
This commit is contained in:
James Prestwood 2021-03-15 10:29:30 -07:00 committed by Denis Kenzior
parent 133347440e
commit 2a46ab3042
2 changed files with 10 additions and 0 deletions

View File

@ -96,6 +96,7 @@ struct wiphy {
bool support_adhoc_rsn:1; bool support_adhoc_rsn:1;
bool support_qos_set_map:1; bool support_qos_set_map:1;
bool support_cmds_auth_assoc:1; bool support_cmds_auth_assoc:1;
bool support_fw_roam:1;
bool soft_rfkill : 1; bool soft_rfkill : 1;
bool hard_rfkill : 1; bool hard_rfkill : 1;
bool offchannel_tx_ok : 1; bool offchannel_tx_ok : 1;
@ -462,6 +463,11 @@ bool wiphy_supports_qos_set_map(struct wiphy *wiphy)
return wiphy->support_qos_set_map; return wiphy->support_qos_set_map;
} }
bool wiphy_supports_firmware_roam(struct wiphy *wiphy)
{
return wiphy->support_fw_roam;
}
const char *wiphy_get_driver(struct wiphy *wiphy) const char *wiphy_get_driver(struct wiphy *wiphy)
{ {
return wiphy->driver_str; return wiphy->driver_str;
@ -990,6 +996,9 @@ static void wiphy_parse_attributes(struct wiphy *wiphy,
else else
wiphy->max_roc_duration = *((uint32_t *) data); wiphy->max_roc_duration = *((uint32_t *) data);
break; break;
case NL80211_ATTR_ROAM_SUPPORT:
wiphy->support_fw_roam = true;
break;
} }
} }
} }

View File

@ -92,6 +92,7 @@ const uint8_t *wiphy_get_supported_rates(struct wiphy *wiphy, unsigned int band,
bool wiphy_supports_adhoc_rsn(struct wiphy *wiphy); bool wiphy_supports_adhoc_rsn(struct wiphy *wiphy);
bool wiphy_can_offchannel_tx(struct wiphy *wiphy); bool wiphy_can_offchannel_tx(struct wiphy *wiphy);
bool wiphy_supports_qos_set_map(struct wiphy *wiphy); bool wiphy_supports_qos_set_map(struct wiphy *wiphy);
bool wiphy_supports_firmware_roam(struct wiphy *wiphy);
const char *wiphy_get_driver(struct wiphy *wiphy); const char *wiphy_get_driver(struct wiphy *wiphy);
const char *wiphy_get_name(struct wiphy *wiphy); const char *wiphy_get_name(struct wiphy *wiphy);
const uint8_t *wiphy_get_permanent_address(struct wiphy *wiphy); const uint8_t *wiphy_get_permanent_address(struct wiphy *wiphy);