--- zzzz-none-000/linux-4.9.276/include/net/cfg80211.h 2021-07-20 14:21:16.000000000 +0000 +++ falcon-5530-750/linux-4.9.276/include/net/cfg80211.h 2023-04-05 08:19:02.000000000 +0000 @@ -769,6 +769,7 @@ bool radar_required; bool block_tx; u8 count; + u8 sb_dfs_bw; /* from enum nl80211_sb_dfs_bw */ }; /** @@ -825,6 +826,10 @@ * @opmode_notif: operating mode field from Operating Mode Notification * @opmode_notif_used: information if operating mode field is used * @support_p2p_ps: information if station supports P2P PS mechanism + * @resp: last association response frame + * (or NULL for no change) + * @resp_len: length of last association response + * @rssi: received signal strength indicator */ struct station_parameters { const u8 *supported_rates; @@ -852,6 +857,9 @@ u8 opmode_notif; bool opmode_notif_used; int support_p2p_ps; + u8 *resp; + size_t resp_len; + u32 rssi; }; /** @@ -1071,6 +1079,7 @@ * @nonpeer_pm: non-peer mesh STA power save mode * @expected_throughput: expected throughput in kbps (including 802.11 headers) * towards this station. + * @max_rssi: maximum received signal strength indicator * @rx_beacon: number of beacons received from this peer * @rx_beacon_signal_avg: signal strength average (in dBm) for beacons received * from this peer @@ -1116,6 +1125,7 @@ enum nl80211_mesh_power_mode nonpeer_pm; u32 expected_throughput; + u32 max_rssi; u64 rx_beacon; u64 rx_duration; @@ -1814,6 +1824,7 @@ * @ht_capa_mask: The bits of ht_capa which are to be used. * @vht_capa: VHT capability override * @vht_capa_mask: VHT capability mask indicating which fields to use + * @vendor_wds: use WDS vendor specific capabilities */ struct cfg80211_assoc_request { struct cfg80211_bss *bss; @@ -1825,6 +1836,7 @@ struct ieee80211_ht_cap ht_capa; struct ieee80211_ht_cap ht_capa_mask; struct ieee80211_vht_cap vht_capa, vht_capa_mask; + int vendor_wds; }; /** @@ -2958,6 +2970,8 @@ int (*set_ap_chanwidth)(struct wiphy *wiphy, struct net_device *dev, struct cfg80211_chan_def *chandef); + bool (*is_all_iface_idle)(struct wiphy *wiphy); + int (*add_tx_ts)(struct wiphy *wiphy, struct net_device *dev, u8 tsid, const u8 *peer, u8 user_prio, u16 admitted_time); @@ -3035,27 +3049,28 @@ /* use hole at 0 */ /* use hole at 1 */ /* use hole at 2 */ - WIPHY_FLAG_NETNS_OK = BIT(3), - WIPHY_FLAG_PS_ON_BY_DEFAULT = BIT(4), - WIPHY_FLAG_4ADDR_AP = BIT(5), - WIPHY_FLAG_4ADDR_STATION = BIT(6), - WIPHY_FLAG_CONTROL_PORT_PROTOCOL = BIT(7), - WIPHY_FLAG_IBSS_RSN = BIT(8), - WIPHY_FLAG_MESH_AUTH = BIT(10), - WIPHY_FLAG_SUPPORTS_SCHED_SCAN = BIT(11), + WIPHY_FLAG_NETNS_OK = BIT(3), + WIPHY_FLAG_PS_ON_BY_DEFAULT = BIT(4), + WIPHY_FLAG_4ADDR_AP = BIT(5), + WIPHY_FLAG_4ADDR_STATION = BIT(6), + WIPHY_FLAG_CONTROL_PORT_PROTOCOL = BIT(7), + WIPHY_FLAG_IBSS_RSN = BIT(8), + WIPHY_FLAG_MESH_AUTH = BIT(10), + WIPHY_FLAG_SUPPORTS_SCHED_SCAN = BIT(11), /* use hole at 12 */ - WIPHY_FLAG_SUPPORTS_FW_ROAM = BIT(13), - WIPHY_FLAG_AP_UAPSD = BIT(14), - WIPHY_FLAG_SUPPORTS_TDLS = BIT(15), - WIPHY_FLAG_TDLS_EXTERNAL_SETUP = BIT(16), - WIPHY_FLAG_HAVE_AP_SME = BIT(17), - WIPHY_FLAG_REPORTS_OBSS = BIT(18), - WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD = BIT(19), - WIPHY_FLAG_OFFCHAN_TX = BIT(20), - WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL = BIT(21), - WIPHY_FLAG_SUPPORTS_5_10_MHZ = BIT(22), - WIPHY_FLAG_HAS_CHANNEL_SWITCH = BIT(23), - WIPHY_FLAG_HAS_STATIC_WEP = BIT(24), + WIPHY_FLAG_SUPPORTS_FW_ROAM = BIT(13), + WIPHY_FLAG_AP_UAPSD = BIT(14), + WIPHY_FLAG_SUPPORTS_TDLS = BIT(15), + WIPHY_FLAG_TDLS_EXTERNAL_SETUP = BIT(16), + WIPHY_FLAG_HAVE_AP_SME = BIT(17), + WIPHY_FLAG_REPORTS_OBSS = BIT(18), + WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD = BIT(19), + WIPHY_FLAG_OFFCHAN_TX = BIT(20), + WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL = BIT(21), + WIPHY_FLAG_SUPPORTS_5_10_MHZ = BIT(22), + WIPHY_FLAG_HAS_CHANNEL_SWITCH = BIT(23), + WIPHY_FLAG_HAS_STATIC_WEP = BIT(24), + WIPHY_FLAG_DISABLE_11D_HINT = BIT(31), }; /** @@ -3819,6 +3834,9 @@ u32 owner_nlportid; + u8 *vendor_events_filter; + u8 vendor_events_filter_len; + #ifdef CONFIG_CFG80211_WEXT /* wext data */ struct { @@ -5165,6 +5183,9 @@ enum nl80211_connect_failed_reason reason, gfp_t gfp); +int cfg80211_rx_vendor_specific_mgmt(struct wireless_dev *wdev, int freq, + const u8 *buf, size_t len, gfp_t gfp); + /** * cfg80211_rx_mgmt - notification of received, unprocessed management frame * @wdev: wireless device receiving the frame @@ -5255,12 +5276,13 @@ * cfg80211_radar_event - radar detection event * @wiphy: the wiphy * @chandef: chandef for the current channel + * @radar_bit_map: Bit map of channels, on which radar was detected * @gfp: context flags * * This function is called when a radar is detected on the current chanenl. */ -void cfg80211_radar_event(struct wiphy *wiphy, - struct cfg80211_chan_def *chandef, gfp_t gfp); +void cfg80211_radar_event(struct wiphy *wiphy, struct cfg80211_chan_def *chandef, + u8 radar_bit_map, gfp_t gfp); /** * cfg80211_cac_event - Channel availability check (CAC) event @@ -5608,6 +5630,9 @@ * by .crit_proto_start() has expired. */ void cfg80211_crit_proto_stopped(struct wireless_dev *wdev, gfp_t gfp); +void cfg80211_set_dfs_state_bit_map(struct wiphy *wiphy, + struct cfg80211_chan_def *chandef, + u8 radar_bit_map, enum nl80211_dfs_state dfs_state); /** * ieee80211_get_num_supported_channels - get number of channels device has