mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-29 05:39:24 +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_iftypes;
|
||||||
uint16_t supported_ciphers;
|
uint16_t supported_ciphers;
|
||||||
struct scan_freq_set *supported_freqs;
|
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_2g;
|
||||||
struct band *band_5g;
|
struct band *band_5g;
|
||||||
struct band *band_6g;
|
struct band *band_6g;
|
||||||
@ -345,7 +343,6 @@ static struct wiphy *wiphy_new(uint32_t id)
|
|||||||
|
|
||||||
wiphy->id = id;
|
wiphy->id = id;
|
||||||
wiphy->supported_freqs = scan_freq_set_new();
|
wiphy->supported_freqs = scan_freq_set_new();
|
||||||
wiphy->disabled_freqs = scan_freq_set_new();
|
|
||||||
watchlist_init(&wiphy->state_watches, NULL);
|
watchlist_init(&wiphy->state_watches, NULL);
|
||||||
wiphy->extended_capabilities[0] = IE_TYPE_EXTENDED_CAPABILITIES;
|
wiphy->extended_capabilities[0] = IE_TYPE_EXTENDED_CAPABILITIES;
|
||||||
wiphy->extended_capabilities[1] = EXT_CAP_LEN;
|
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->supported_freqs);
|
||||||
scan_freq_set_free(wiphy->disabled_freqs);
|
|
||||||
watchlist_destroy(&wiphy->state_watches);
|
watchlist_destroy(&wiphy->state_watches);
|
||||||
l_free(wiphy->model_str);
|
l_free(wiphy->model_str);
|
||||||
l_free(wiphy->vendor_str);
|
l_free(wiphy->vendor_str);
|
||||||
@ -491,11 +487,6 @@ const struct scan_freq_set *wiphy_get_supported_freqs(
|
|||||||
return wiphy->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)
|
static struct band *wiphy_get_band(const struct wiphy *wiphy, enum band_freq band)
|
||||||
{
|
{
|
||||||
switch (band) {
|
switch (band) {
|
||||||
@ -2003,9 +1994,6 @@ static void wiphy_dump_done(void *user_data)
|
|||||||
|
|
||||||
if (wiphy) {
|
if (wiphy) {
|
||||||
wiphy->dump_id = 0;
|
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,
|
WATCHLIST_NOTIFY(&wiphy->state_watches,
|
||||||
wiphy_state_watch_func_t, wiphy,
|
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) {
|
for (e = l_queue_get_entries(wiphy_list); e; e = e->next) {
|
||||||
wiphy = e->data;
|
wiphy = e->data;
|
||||||
|
|
||||||
if (!wiphy->pending_freqs || wiphy->self_managed)
|
if (wiphy->self_managed)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
scan_freq_set_free(wiphy->disabled_freqs);
|
|
||||||
wiphy->disabled_freqs = wiphy->pending_freqs;
|
|
||||||
wiphy->pending_freqs = NULL;
|
|
||||||
|
|
||||||
WATCHLIST_NOTIFY(&wiphy->state_watches,
|
WATCHLIST_NOTIFY(&wiphy->state_watches,
|
||||||
wiphy_state_watch_func_t, wiphy,
|
wiphy_state_watch_func_t, wiphy,
|
||||||
WIPHY_STATE_WATCH_EVENT_REGDOM_DONE);
|
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)
|
static bool wiphy_cancel_last_dump(struct wiphy *wiphy)
|
||||||
{
|
{
|
||||||
const struct l_queue_entry *e;
|
|
||||||
unsigned int id = 0;
|
unsigned int id = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Zero command ID to signal that wiphy_dump_done doesn't need to do
|
* 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
|
* anything.
|
||||||
* a global dump each wiphy needs to be checked and dealt with.
|
|
||||||
*/
|
*/
|
||||||
if (wiphy && wiphy->dump_id) {
|
if (wiphy && wiphy->dump_id) {
|
||||||
id = wiphy->dump_id;
|
id = wiphy->dump_id;
|
||||||
wiphy->dump_id = 0;
|
wiphy->dump_id = 0;
|
||||||
|
|
||||||
scan_freq_set_free(wiphy->pending_freqs);
|
|
||||||
wiphy->pending_freqs = NULL;
|
|
||||||
} else if (!wiphy && wiphy_dump_id) {
|
} else if (!wiphy && wiphy_dump_id) {
|
||||||
id = wiphy_dump_id;
|
id = wiphy_dump_id;
|
||||||
wiphy_dump_id = 0;
|
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) {
|
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 */
|
/* Limited dump so just emit the event for this wiphy */
|
||||||
if (wiphy) {
|
if (wiphy) {
|
||||||
wiphy->dump_id = id;
|
wiphy->dump_id = id;
|
||||||
wiphy->pending_freqs = scan_freq_set_new();
|
|
||||||
|
|
||||||
if (no_start_event)
|
if (no_start_event)
|
||||||
return;
|
return;
|
||||||
@ -2186,8 +2154,6 @@ static void wiphy_dump_after_regdom(struct wiphy *wiphy)
|
|||||||
if (w->self_managed)
|
if (w->self_managed)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
w->pending_freqs = scan_freq_set_new();
|
|
||||||
|
|
||||||
if (no_start_event)
|
if (no_start_event)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -100,7 +100,6 @@ const char *wiphy_get_path(struct wiphy *wiphy);
|
|||||||
uint32_t wiphy_get_supported_bands(struct wiphy *wiphy);
|
uint32_t wiphy_get_supported_bands(struct wiphy *wiphy);
|
||||||
const struct scan_freq_set *wiphy_get_supported_freqs(
|
const struct scan_freq_set *wiphy_get_supported_freqs(
|
||||||
const struct wiphy *wiphy);
|
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 band_freq_attrs *wiphy_get_frequency_info(
|
||||||
const struct wiphy *wiphy,
|
const struct wiphy *wiphy,
|
||||||
|
Loading…
Reference in New Issue
Block a user