mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-25 17:59:25 +01:00
wiphy: remove disabled_freqs and related dump code
The disabled_freqs list is being removed and replaced with a new list in the band object. This completely removes the need for the pending_freqs list as well since any regdom related dumps can just overwrite the existing frequency list.
This commit is contained in:
parent
5042c8e924
commit
2ba0ad212e
38
src/wiphy.c
38
src/wiphy.c
@ -105,8 +105,6 @@ struct wiphy {
|
||||
uint16_t supported_iftypes;
|
||||
uint16_t supported_ciphers;
|
||||
struct scan_freq_set *supported_freqs;
|
||||
struct scan_freq_set *disabled_freqs;
|
||||
struct scan_freq_set *pending_freqs;
|
||||
struct band *band_2g;
|
||||
struct band *band_5g;
|
||||
struct band *band_6g;
|
||||
@ -345,7 +343,6 @@ static struct wiphy *wiphy_new(uint32_t id)
|
||||
|
||||
wiphy->id = id;
|
||||
wiphy->supported_freqs = scan_freq_set_new();
|
||||
wiphy->disabled_freqs = scan_freq_set_new();
|
||||
watchlist_init(&wiphy->state_watches, NULL);
|
||||
wiphy->extended_capabilities[0] = IE_TYPE_EXTENDED_CAPABILITIES;
|
||||
wiphy->extended_capabilities[1] = EXT_CAP_LEN;
|
||||
@ -393,7 +390,6 @@ static void wiphy_free(void *data)
|
||||
}
|
||||
|
||||
scan_freq_set_free(wiphy->supported_freqs);
|
||||
scan_freq_set_free(wiphy->disabled_freqs);
|
||||
watchlist_destroy(&wiphy->state_watches);
|
||||
l_free(wiphy->model_str);
|
||||
l_free(wiphy->vendor_str);
|
||||
@ -491,11 +487,6 @@ const struct scan_freq_set *wiphy_get_supported_freqs(
|
||||
return wiphy->supported_freqs;
|
||||
}
|
||||
|
||||
const struct scan_freq_set *wiphy_get_disabled_freqs(const struct wiphy *wiphy)
|
||||
{
|
||||
return wiphy->disabled_freqs;
|
||||
}
|
||||
|
||||
static struct band *wiphy_get_band(const struct wiphy *wiphy, enum band_freq band)
|
||||
{
|
||||
switch (band) {
|
||||
@ -2003,9 +1994,6 @@ static void wiphy_dump_done(void *user_data)
|
||||
|
||||
if (wiphy) {
|
||||
wiphy->dump_id = 0;
|
||||
scan_freq_set_free(wiphy->disabled_freqs);
|
||||
wiphy->disabled_freqs = wiphy->pending_freqs;
|
||||
wiphy->pending_freqs = NULL;
|
||||
|
||||
WATCHLIST_NOTIFY(&wiphy->state_watches,
|
||||
wiphy_state_watch_func_t, wiphy,
|
||||
@ -2019,13 +2007,9 @@ static void wiphy_dump_done(void *user_data)
|
||||
for (e = l_queue_get_entries(wiphy_list); e; e = e->next) {
|
||||
wiphy = e->data;
|
||||
|
||||
if (!wiphy->pending_freqs || wiphy->self_managed)
|
||||
if (wiphy->self_managed)
|
||||
continue;
|
||||
|
||||
scan_freq_set_free(wiphy->disabled_freqs);
|
||||
wiphy->disabled_freqs = wiphy->pending_freqs;
|
||||
wiphy->pending_freqs = NULL;
|
||||
|
||||
WATCHLIST_NOTIFY(&wiphy->state_watches,
|
||||
wiphy_state_watch_func_t, wiphy,
|
||||
WIPHY_STATE_WATCH_EVENT_REGDOM_DONE);
|
||||
@ -2095,33 +2079,18 @@ static void wiphy_dump_callback(struct l_genl_msg *msg,
|
||||
|
||||
static bool wiphy_cancel_last_dump(struct wiphy *wiphy)
|
||||
{
|
||||
const struct l_queue_entry *e;
|
||||
unsigned int id = 0;
|
||||
|
||||
/*
|
||||
* Zero command ID to signal that wiphy_dump_done doesn't need to do
|
||||
* anything. For a self-managed wiphy just free/NULL pending_freqs. For
|
||||
* a global dump each wiphy needs to be checked and dealt with.
|
||||
* anything.
|
||||
*/
|
||||
if (wiphy && wiphy->dump_id) {
|
||||
id = wiphy->dump_id;
|
||||
wiphy->dump_id = 0;
|
||||
|
||||
scan_freq_set_free(wiphy->pending_freqs);
|
||||
wiphy->pending_freqs = NULL;
|
||||
} else if (!wiphy && wiphy_dump_id) {
|
||||
id = wiphy_dump_id;
|
||||
wiphy_dump_id = 0;
|
||||
|
||||
for (e = l_queue_get_entries(wiphy_list); e; e = e->next) {
|
||||
struct wiphy *w = e->data;
|
||||
|
||||
if (!w->pending_freqs || w->self_managed)
|
||||
continue;
|
||||
|
||||
scan_freq_set_free(w->pending_freqs);
|
||||
w->pending_freqs = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (id) {
|
||||
@ -2166,7 +2135,6 @@ static void wiphy_dump_after_regdom(struct wiphy *wiphy)
|
||||
/* Limited dump so just emit the event for this wiphy */
|
||||
if (wiphy) {
|
||||
wiphy->dump_id = id;
|
||||
wiphy->pending_freqs = scan_freq_set_new();
|
||||
|
||||
if (no_start_event)
|
||||
return;
|
||||
@ -2186,8 +2154,6 @@ static void wiphy_dump_after_regdom(struct wiphy *wiphy)
|
||||
if (w->self_managed)
|
||||
continue;
|
||||
|
||||
w->pending_freqs = scan_freq_set_new();
|
||||
|
||||
if (no_start_event)
|
||||
continue;
|
||||
|
||||
|
@ -100,7 +100,6 @@ const char *wiphy_get_path(struct wiphy *wiphy);
|
||||
uint32_t wiphy_get_supported_bands(struct wiphy *wiphy);
|
||||
const struct scan_freq_set *wiphy_get_supported_freqs(
|
||||
const struct wiphy *wiphy);
|
||||
const struct scan_freq_set *wiphy_get_disabled_freqs(const struct wiphy *wiphy);
|
||||
|
||||
const struct band_freq_attrs *wiphy_get_frequency_info(
|
||||
const struct wiphy *wiphy,
|
||||
|
Loading…
Reference in New Issue
Block a user