From 74aa280b56b461af80c556b60fcde50dc5c47190 Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Fri, 13 Sep 2019 15:26:30 -0700 Subject: [PATCH] wiphy: set QoS bit in extended capabilities --- src/wiphy.c | 14 ++++++++++++++ src/wiphy.h | 1 + 2 files changed, 15 insertions(+) diff --git a/src/wiphy.c b/src/wiphy.c index 611c0701..007d58fd 100644 --- a/src/wiphy.c +++ b/src/wiphy.c @@ -79,6 +79,7 @@ struct wiphy { bool support_scheduled_scan:1; bool support_rekey_offload:1; bool support_adhoc_rsn:1; + bool support_qos_set_map:1; bool soft_rfkill : 1; bool hard_rfkill : 1; bool offchannel_tx_ok : 1; @@ -363,6 +364,11 @@ bool wiphy_can_offchannel_tx(struct wiphy *wiphy) return wiphy->offchannel_tx_ok; } +bool wiphy_supports_qos_set_map(struct wiphy *wiphy) +{ + return wiphy->support_qos_set_map; +} + const char *wiphy_get_driver(struct wiphy *wiphy) { return wiphy->driver_str; @@ -544,6 +550,10 @@ static void parse_supported_commands(struct wiphy *wiphy, break; case NL80211_CMD_SET_REKEY_OFFLOAD: wiphy->support_rekey_offload = true; + break; + case NL80211_CMD_SET_QOS_MAP: + wiphy->support_qos_set_map = true; + break; } } } @@ -989,6 +999,10 @@ static void wiphy_set_station_capability_bits(struct wiphy *wiphy) if (!anqp_disabled) util_set_bit(ext_capa + 2, 31); + /* Set QoS Map */ + if (wiphy->support_qos_set_map) + util_set_bit(ext_capa + 2, 32); + /* Set FILS */ util_set_bit(ext_capa + 2, 72); } diff --git a/src/wiphy.h b/src/wiphy.h index 283e5045..d3dc0f04 100644 --- a/src/wiphy.h +++ b/src/wiphy.h @@ -69,6 +69,7 @@ uint8_t wiphy_get_max_num_ssids_per_scan(struct wiphy *wiphy); bool wiphy_supports_iftype(struct wiphy *wiphy, uint32_t iftype); bool wiphy_supports_adhoc_rsn(struct wiphy *wiphy); bool wiphy_can_offchannel_tx(struct wiphy *wiphy); +bool wiphy_supports_qos_set_map(struct wiphy *wiphy); const char *wiphy_get_driver(struct wiphy *wiphy); const char *wiphy_get_name(struct wiphy *wiphy); const uint8_t *wiphy_get_permanent_address(struct wiphy *wiphy);