[PATCH 1/3] wiphy: add flag for supporting remain on channel

James Prestwood
2024-07-26T16:37:58Z

---
src/wiphy.c | 9 +++++++++
src/wiphy.h | 1 +
2 files changed, 10 insertions(+)

diff --git a/src/wiphy.c b/src/wiphy.c
index fb36ebb2..ad9bf59b 100644
--- a/src/wiphy.c
+++ b/src/wiphy.c
@@ -149,6 +149,7 @@ struct wiphy {
bool self_managed : 1;
bool ap_probe_resp_offload : 1;
bool supports_uapsd : 1;
+ bool supports_cmd_offchannel : 1;
};

static struct l_queue *wiphy_list = NULL;
@@ -938,6 +939,11 @@ bool wiphy_supports_uapsd(const struct wiphy *wiphy)
return wiphy->supports_uapsd;
}

+bool wiphy_supports_cmd_offchannel(const struct wiphy *wiphy)
+{
+ return wiphy->supports_cmd_offchannel;
+}
+
const uint8_t *wiphy_get_ht_capabilities(const struct wiphy *wiphy,
enum band_freq band,
size_t *size)
@@ -1384,6 +1390,9 @@ static void parse_supported_commands(struct wiphy *wiphy,
case NL80211_CMD_ASSOCIATE:
assoc = true;
break;
+ case NL80211_CMD_REMAIN_ON_CHANNEL:
+ wiphy->supports_cmd_offchannel = true;
+ break;
}
}

diff --git a/src/wiphy.h b/src/wiphy.h
index bc82a007..17e53075 100644
--- a/src/wiphy.h
+++ b/src/wiphy.h
@@ -141,6 +141,7 @@ bool wiphy_get_rsnxe(const struct wiphy *wiphy, uint8_t *buf, size_t len);
void wiphy_get_reg_domain_country(struct wiphy *wiphy, char *out);
bool wiphy_country_is_unknown(struct wiphy *wiphy);
bool wiphy_supports_uapsd(const struct wiphy *wiphy);
+bool wiphy_supports_cmd_offchannel(const struct wiphy *wiphy);

const uint8_t *wiphy_get_ht_capabilities(const struct wiphy *wiphy,
enum band_freq band,
--
2.34.1