diff --git a/src/station.c b/src/station.c index 12823142..a34d8ce3 100644 --- a/src/station.c +++ b/src/station.c @@ -1450,9 +1450,7 @@ static int station_quick_scan_trigger(struct station *station) * this since its so limited, so return an error which will fall back to * full autoconnect. */ - if (wiphy_get_supported_bands(station->wiphy) & BAND_FREQ_6_GHZ && - wiphy_band_is_disabled(station->wiphy, - BAND_FREQ_6_GHZ) && + if (wiphy_band_is_disabled(station->wiphy, BAND_FREQ_6_GHZ) == 1 && wiphy_country_is_unknown(station->wiphy) && known_6ghz) return -ENOTSUP; diff --git a/src/wiphy.c b/src/wiphy.c index dcd9e210..b4ee6110 100644 --- a/src/wiphy.c +++ b/src/wiphy.c @@ -570,7 +570,7 @@ const struct band_freq_attrs *wiphy_get_frequency_info_list( return bandp->freq_attrs; } -bool wiphy_band_is_disabled(const struct wiphy *wiphy, enum band_freq band) +int wiphy_band_is_disabled(const struct wiphy *wiphy, enum band_freq band) { struct band_freq_attrs attr; unsigned int i; @@ -578,7 +578,7 @@ bool wiphy_band_is_disabled(const struct wiphy *wiphy, enum band_freq band) bandp = wiphy_get_band(wiphy, band); if (!bandp) - return true; + return -ENOTSUP; for (i = 0; i < bandp->freqs_len; i++) { attr = bandp->freq_attrs[i]; @@ -587,10 +587,10 @@ bool wiphy_band_is_disabled(const struct wiphy *wiphy, enum band_freq band) continue; if (!attr.disabled) - return false; + return 0; } - return true; + return 1; } bool wiphy_supports_probe_resp_offload(struct wiphy *wiphy) diff --git a/src/wiphy.h b/src/wiphy.h index cabb21c4..d61516d5 100644 --- a/src/wiphy.h +++ b/src/wiphy.h @@ -111,7 +111,7 @@ const struct band_freq_attrs *wiphy_get_frequency_info_list( enum band_freq band, size_t *size); -bool wiphy_band_is_disabled(const struct wiphy *wiphy, enum band_freq band); +int wiphy_band_is_disabled(const struct wiphy *wiphy, enum band_freq band); bool wiphy_supports_probe_resp_offload(struct wiphy *wiphy); bool wiphy_can_transition_disable(struct wiphy *wiphy);