diff options
author | Abhishek Kumar <kuabhs@chromium.org> | 2023-06-29 05:52:54 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2023-09-13 12:34:01 +0200 |
commit | b13b6bbfbb627884f18982600f7b5a5200652531 (patch) | |
tree | 798c6316a2cb757fb38527e45697f6c05f9b5c0a /include/net | |
parent | wifi: cfg80211: allow reg update by driver even if wiphy->regd is set (diff) | |
download | linux-b13b6bbfbb627884f18982600f7b5a5200652531.tar.xz linux-b13b6bbfbb627884f18982600f7b5a5200652531.zip |
wifi: cfg80211: call reg_call_notifier on beacon hints
Currently the channel property updates are not propagated to
driver. This causes issues in the discovery of hidden SSIDs and
fails to connect to them.
This change defines a new wiphy flag which when enabled by vendor
driver, the reg_call_notifier callback will be trigger on beacon
hints. This ensures that the channel property changes are visible
to the vendor driver. The vendor changes the channels for active
scans. This fixes the discovery issue of hidden SSID.
Signed-off-by: Abhishek Kumar <kuabhs@chromium.org>
Link: https://lore.kernel.org/r/20230629035254.1.I059fe585f9f9e896c2d51028ef804d197c8c009e@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/cfg80211.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index d69841f64459..0551a38d6760 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h @@ -4861,6 +4861,8 @@ struct cfg80211_ops { * @WIPHY_FLAG_SUPPORTS_EXT_KCK_32: The device supports 32-byte KCK keys. * @WIPHY_FLAG_NOTIFY_REGDOM_BY_DRIVER: The device could handle reg notify for * NL80211_REGDOM_SET_BY_DRIVER. + * @WIPHY_FLAG_CHANNEL_CHANGE_ON_BEACON: reg_call_notifier() is called if driver + * set this flag to update channels on beacon hints. */ enum wiphy_flags { WIPHY_FLAG_SUPPORTS_EXT_KEK_KCK = BIT(0), @@ -4887,6 +4889,7 @@ enum wiphy_flags { WIPHY_FLAG_SUPPORTS_5_10_MHZ = BIT(22), WIPHY_FLAG_HAS_CHANNEL_SWITCH = BIT(23), WIPHY_FLAG_NOTIFY_REGDOM_BY_DRIVER = BIT(24), + WIPHY_FLAG_CHANNEL_CHANGE_ON_BEACON = BIT(25), }; /** |