Hi, here's a pull request to net-next tree, more info below. Please let me know if there are any problems. Kalle The following changes since commit 22061bfc57fe08c77141dc876b4af75603c4d61d: wifi: iwlwifi: mvm: Fix incorrect usage of scan API (2023-09-27 11:46:30 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git tags/wireless-next-2023-10-06 for you to fetch changes up to 7d6904bf26b96ef087514cb7a8c50b62a4911c99: Merge wireless into wireless-next (2023-10-06 17:08:47 +0300) ---------------------------------------------------------------- wireless-next patches for v6.7 The first pull request for v6.7, with both stack and driver changes. We have a big change how locking is handled in cfg80211 and mac80211 which removes several locks and hopefully simplifies the locking overall. In drivers rtw89 got MCC support and smaller features to other active drivers but nothing out of ordinary. This pull request got delayed because we were waiting for the wireless tree pull requested processed first and after that we merged wireless into wireless-next to avoid several conflicts in the stack. When pulling this there's one conflict in drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c: <<<<<<< HEAD static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *ndev, struct cfg80211_beacon_data *info) ======= static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *ndev, struct cfg80211_ap_update *info) >>>>>>> origin/merge-wireless-2023-10-05 Take the latter hunk which uses struct cfg80211_ap_update. Major changes: cfg80211 * remove wdev mutex, use the wiphy mutex instead * annotate iftype_data pointer with sparse * first kunit tests, for element defrag * remove unused scan_width support mac80211 * major locking rework, remove several locks like sta_mtx, key_mtx etc. and use the wiphy mutex instead * remove unused shifted rate support * support antenna control in frame injection (requires driver support) * convert RX_DROP_UNUSABLE to more detailed reason codes rtw89 * TDMA-based multi-channel concurrency (MCC) support iwlwifi * support set_antenna() operation * support frame injection antenna control ath12k * WCN7850: enable 320 MHz channels in 6 GHz band * WCN7850: hardware rfkill support * WCN7850: enable IEEE80211_HW_SINGLE_SCAN_ON_ALL_BANDS to make scan faster ath11k * add chip id board name while searching board-2.bin ---------------------------------------------------------------- Abhishek Kumar (1): wifi: cfg80211: call reg_call_notifier on beacon hints Aditya Kumar Singh (1): wifi: cfg80211: export DFS CAC time and usable state helper functions Aloka Dixit (6): wifi: nl80211: fixes to FILS discovery updates wifi: mac80211: fixes in FILS discovery updates wifi: cfg80211: modify prototype for change_beacon wifi: nl80211: additions to NL80211_CMD_SET_BEACON wifi: mac80211: additions to change_beacon() wifi: ath12k: call ath12k_mac_fils_discovery() without condition Anjaneyulu (1): wifi: iwlwifi: implement enable/disable for China 2022 regulatory Arowa Suliman (1): wifi: ath11k: mhi: add a warning message for MHI_CB_EE_RDDM crash Ayala Beker (3): wifi: mac80211: don't connect to an AP while it's in a CSA process wifi: mac80211: add support for parsing TID to Link mapping element wifi: mac80211: support handling of advertised TID-to-link mapping Baochen Qiang (4): wifi: ath12k: fix possible out-of-bound read in ath12k_htt_pull_ppdu_stats() wifi: ath12k: fix possible out-of-bound write in ath12k_wmi_ext_hal_reg_caps() wifi: ath12k: fix DMA unmap warning on NULL DMA address wifi: ath11k: fix boot failure with one MSI vector Benjamin Berg (5): wifi: cfg80211: add ieee80211_fragment_element to public API wifi: mac80211: add more warnings about inserting sta info wifi: cfg80211: report per-link errors during association wifi: mac80211: report per-link error during association wifi: mac80211: reject MLO channel configuration if not supported Colin Ian King (2): wifi: cfg80211: make read-only array centers_80mhz static const wifi: rt2x00: remove redundant check if u8 array element is less than zero Dmitry Antipov (20): wifi: plfxlc: fix clang-specific fortify warning wifi: mac80211_hwsim: fix clang-specific fortify warning wifi: wext: avoid extra calls to strlen() in ieee80211_bss() wifi: ath9k: simplify ar9003_hw_process_ini() wifi: ath9k: use u32 for txgain indexes wifi: ath9k: fix clang-specific fortify warnings wifi: ath10k: fix clang-specific fortify warning wifi: mwifiex: cleanup struct mwifiex_sdio_mpa_rx wifi: ath10k: drop HTT_DATA_TX_STATUS_DOWNLOAD_FAIL wifi: ath11k: drop NULL pointer check in ath11k_update_per_peer_tx_stats() wifi: ath11k: drop redundant check in ath11k_dp_rx_mon_dest_process() wifi: ath11k: remove unused members of 'struct ath11k_base' wifi: mwifiex: simplify PCIE write operations wifi: mwifiex: followup PCIE and related cleanups wifi: ath11k: use kstrtoul_from_user() where appropriate wifi: ath11k: fix ath11k_mac_op_remain_on_channel() stack usage wifi: rtlwifi: cleanup few rtlxxxx_set_hw_reg() routines wifi: rtlwifi: fix EDCA limit set by BT coexistence wifi: rtlwifi: use unsigned long for rtl_bssid_entry timestamp wifi: rtlwifi: remove unreachable code in rtl92d_dm_check_edca_turbo() Dongliang Mu (1): wifi: ath9k: clean up function ath9k_hif_usb_resume Emmanuel Grumbach (8): wifi: mac80211: add support for mld in ieee80211_chswitch_done wifi: iwlwifi: mvm: support CSA with MLD wifi: iwlwifi: honor the enable_ini value wifi: iwlwifi: mvm: log dropped frames wifi: iwlwifi: mvm: fix recovery flow in CSA wifi: iwlwifi: mvm: add a debug print when we get a BAR wifi: mac80211: update the rx_chains after set_antenna() wifi: iwlwifi: mvm: support set_antenna() Gregory Greenman (1): wifi: iwlwifi: fw: disable firmware debug asserts Harshitha Prem (2): wifi: ath12k: Ignore fragments from uninitialized peer in dp wifi: ath12k: fix undefined behavior with __fls in dp Ilan Peer (5): wifi: mac80211: Fix SMPS handling in the context of MLO wifi: mac80211: Print local link address during authentication wifi: mac80211: Do not force off-channel for management Tx with MLO wifi: mac80211: Notify the low level driver on change in MLO valid links wifi: mac80211_hwsim: Handle BSS_CHANGED_VALID_LINKS Jeff Johnson (2): wifi: mac80211: Use flexible array in struct ieee80211_tim_ie wifi: cw1200: Avoid processing an invalid TIM IE Jinjie Ruan (1): wifi: rtw88: debug: Fix the NULL vs IS_ERR() bug for debugfs_create_file() Johannes Berg (105): wifi: mac80211: tx: clarify conditions in if statement wifi: mac80211: rework ack_frame_id handling a bit wifi: mac80211: fix SMPS status handling wifi: mac80211: debugfs: lock wiphy instead of RTNL wifi: mac80211: hold wiphy lock in netdev/link debugfs wifi: mac80211: lock wiphy for aggregation debugfs wifi: cfg80211: check RTNL when iterating devices wifi: cfg80211: add flush functions for wiphy work wifi: mac80211: flush wiphy work where appropriate wifi: mac80211: convert A-MPDU work to wiphy work wifi: mac80211: add more ops assertions wifi: mac80211: move DFS CAC work to wiphy work wifi: mac80211: move radar detect work to wiphy work wifi: mac80211: move scan work to wiphy work wifi: mac80211: move monitor work to wiphy work wifi: mac80211: lock wiphy in IP address notifier wifi: mac80211: move offchannel works to wiphy work wifi: mac80211: move link activation work to wiphy work wifi: mac80211: move dynamic PS to wiphy work wifi: mac80211: move sched-scan stop work to wiphy work wifi: mac80211: move TDLS work to wiphy work wifi: mac80211: move key tailroom work to wiphy work wifi: mac80211: move tspec work to wiphy work wifi: mac80211: move filter reconfig to wiphy work wifi: mac80211: move CSA finalize to wiphy work wifi: mac80211: move color change finalize to wiphy work wifi: mac80211: check wiphy mutex in ops wifi: cfg80211: reg: hold wiphy mutex for wdev iteration wifi: cfg80211: sme: hold wiphy lock for wdev iteration wifi: cfg80211: hold wiphy lock in cfg80211_any_wiphy_oper_chan() wifi: cfg80211: check wiphy mutex is held for wdev mutex wifi: mac80211: ethtool: hold wiphy mutex wifi: mac80211: hold wiphy_lock around concurrency checks wifi: mac80211: extend wiphy lock in interface removal wifi: mac80211: take wiphy lock for MAC addr change wifi: mac80211: remove sta_mtx wifi: mac80211: remove key_mtx wifi: mac80211: remove chanctx_mtx wifi: mac80211: remove ampdu_mlme.mtx wifi: mac80211: remove local->mtx wifi: mac80211: reduce iflist_mtx wifi: mac80211: set wiphy for virtual monitors wifi: cfg80211: remove wdev mutex wifi: mac80211: fix TXQ error path and cleanup wifi: mac80211: fix BA session teardown race wifi: cfg80211: annotate iftype_data pointer with sparse wifi: mac80211: fix RCU usage warning in mesh fast-xmit wifi: cfg80211: fix off-by-one in element defrag wifi: cfg80211: add first kunit tests, for element defrag wifi: mac80211: add an element parsing unit test wifi: mac80211: remove unnecessary struct forward declaration wifi: mac80211: fix various kernel-doc issues wifi: cfg80211: reg: fix various kernel-doc issues wifi: mac80211_hwsim: clean up kernel-doc wifi: mac80211: fix # of MSDU in A-MSDU calculation wifi: mac80211: take MBSSID/EHT data also from probe resp wifi: mac80211: fix channel switch link data wifi: iwlwifi: mvm: increase session protection after CSA wifi: iwlwifi: mvm: disconnect long CSA only w/o alternative wifi: iwlwifi: fix some kernel-doc issues wifi: iwlwifi: queue: fix kernel-doc wifi: iwlwifi: dvm: remove kernel-doc warnings wifi: iwlwifi: pcie: fix kernel-doc issues wifi: iwlwifi: mvm: fix kernel-doc wifi: iwlwifi: fw: reconstruct the API/CAPA enum number wifi: iwlwifi: mvm: move RU alloc B2 placement wifi: iwlwifi: mvm: check link more carefully wifi: iwlwifi: mvm: reduce maximum RX A-MPDU size wifi: iwlwifi: pcie: fix RB status reading wifi: iwlwifi: increase number of RX buffers for EHT devices wifi: cfg80211: fix kernel-doc for wiphy_delayed_work_flush() wifi: cfg80211: remove scan_width support wifi: mac80211: remove shifted rate support wifi: iwlwifi: pcie: rescan bus if no parent wifi: iwlwifi: pcie: give up mem read if HW is dead wifi: iwlwifi: pcie: enable TOP fatal error interrupt wifi: iwlwifi: mvm: make "pldr_sync" mode effective wifi: iwlwifi: update context info structure definitions wifi: iwlwifi: mvm: move listen interval to constants wifi: cfg80211: fix kernel-doc for wiphy_delayed_work_flush() wifi: mac80211: ethtool: always hold wiphy mutex wifi: cfg80211: split struct cfg80211_ap_settings wifi: mac80211: use bandwidth indication element for CSA wifi: mac80211: relax RCU check in for_each_vif_active_link() wifi: mac80211: allow for_each_sta_active_link() under RCU wifi: cfg80211: reg: describe return values in kernel-doc wifi: mac80211: describe return values in kernel-doc wifi: mac80211_hwsim: move kernel-doc description wifi: mac80211: support antenna control in injection wifi: iwlwifi: mvm: iterate active links for STA queues wifi: iwlwifi: mvm: handle link-STA allocation in restart wifi: iwlwifi: pcie: (re-)assign BAR0 on driver bind wifi: iwlwifi: fail NIC access fast on dead NIC wifi: iwlwifi: mvm: make pldr_sync AX210 specific wifi: iwlwifi: mvm: refactor TX rate handling wifi: iwlwifi: mvm: support injection antenna control wifi: iwlwifi: mvm: check for iwl_mvm_mld_update_sta() errors wifi: cfg80211: add local_state_change to deauth trace wifi: mac80211: fix check for unusable RX result wifi: mac80211: remove RX_DROP_UNUSABLE wifi: mac80211: split ieee80211_drop_unencrypted_mgmt() return value wifi: mac80211: expand __ieee80211_data_to_8023() status wifi: mac80211: fix ieee80211_drop_unencrypted_mgmt return type/value wifi: mac80211: add back SPDX identifier Merge wireless into wireless-next Kalle Valo (2): wifi: ath11k: mac: fix struct ieee80211_sband_iftype_data handling Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git Kang Yang (1): wifi: ath12k: add msdu_end structure for WCN7850 Kees Cook (5): wifi: brcmfmac: Annotate struct brcmf_gscan_config with __counted_by wifi: brcmfmac: firmware: Annotate struct brcmf_fw_request with __counted_by wifi: ipw2x00: Annotate struct libipw_txb with __counted_by wifi: wcn36xx: Annotate struct wcn36xx_hal_ind_msg with __counted_by wifi: ath10k: Annotate struct ath10k_ce_ring with __counted_by Kuan-Chung Chen (2): wifi: rtw89: 8852c: Update bandedge parameters for better performance wifi: rtw89: 8852c: Fix TSSI causes transmit power inaccuracy Lingbo Kong (1): wifi: ath12k: add support for hardware rfkill for WCN7850 Manish Dharanenthiran (2): wifi: ath12k: fix WARN_ON during ath12k_mac_update_vif_chan wifi: ath12k: fix radar detection in 160 MHz Miri Korenblit (4): wifi: iwlwifi: don't use an uninitialized variable wifi: iwlwifi: remove dead-code wifi: iwlwifi: Use FW rate for non-data frames wifi: iwlwifi: no power save during transition to D3 Mukesh Sisodiya (1): wifi: iwlwifi: add mapping of a periphery register crf for WH RF Muna Sinada (2): wifi: ath11k: move references from rsvd2 to info fields wifi: ath11k: fix tid bitmap is 0 in peer rx mu stats Ping-Ke Shih (16): wifi: rtw89: fw: move polling function of firmware path ready to an individual function wifi: rtw89: fw: generalize download firmware flow by mac_gen pointers wifi: rtw89: fw: implement supported functions of download firmware for WiFi 7 chips wifi: rtw89: fw: add checking type for variant type of firmware wifi: rtw89: fw: propagate an argument include_bb for BB MCU firmware wifi: rtw89: 8922a: add chip_ops::bb_preinit to enable BB before downloading firmware wifi: rtw89: fw: refine download flow to support variant firmware suits wifi: rtw89: 8922a: set memory heap address for secure firmware wifi: mac80211: don't return unset power in ieee80211_get_tx_power() wifi: rtw89: add to query RX descriptor format v2 wifi: rtw89: add to fill TX descriptor for firmware command v2 wifi: rtw89: add to fill TX descriptor v2 wifi: rtw89: add chip_info::txwd_info size to generalize TX WD submit wifi: rtw89: consolidate registers of mac port to struct wifi: rtw89: add mac_gen pointer to access mac port registers wifi: rtw89: add subband index of primary channel to struct rtw89_chan Po-Hao Huang (4): wifi: rtw88: fix typo rtw8822cu_probe wifi: ieee80211: add UL-bandwidth definition of trigger frame wifi: rtw89: refine uplink trigger based control mechanism wifi: rtw89: refine bandwidth 160MHz uplink OFDMA performance Prasurjya Rohan Saikia (1): wifi: wilc1000: add back-off algorithm to balance tx queue packets Raj Kumar Bhagat (1): wifi: cfg80211: allow reg update by driver even if wiphy->regd is set Rand Deeb (1): ssb: Fix division by zero issue in ssb_calc_clock_rate Shaul Triebitz (1): wifi: iwlwifi: mvm: enable FILS DF Tx on non-PSC channel Shiji Yang (1): wifi: rt2x00: fix MT7620 low RSSI issue Sidhanta Sahu (1): wifi: ath12k: Set default beacon mode to burst mode Stephen Douthit (1): wifi: mac80211: Sanity check tx bitrate if not provided by driver Tom Rix (1): wifi: lib80211: remove unused variables iv32 and iv16 Uwe Kleine-König (1): wifi: wlcore: Convert to platform remove callback returning void Vinayak Yadawad (1): wifi: cfg80211: OWE DH IE handling offload Víctor Gonzalo (1): wifi: mwifiex: use MODULE_FIRMWARE to add firmware files metadata Wen Gong (9): wifi: cfg80211: save power spectral density(psd) of regulatory rule wifi: ath12k: enable 320 MHz bandwidth for 6 GHz band in EHT PHY capability for WCN7850 wifi: ath12k: change to initialize recovery variables earlier in ath12k_core_reset() wifi: ath11k: add chip id board name while searching board-2.bin for WCN6855 wifi: ath12k: fix recovery fail while firmware crash when doing channel switch wifi: ath12k: indicate to mac80211 scan complete with aborted flag for ATH12K_SCAN_STARTING state wifi: ath12k: indicate scan complete for scan canceled when scan running wifi: ath12k: change to treat alpha code na as world wide regdomain wifi: ath12k: enable IEEE80211_HW_SINGLE_SCAN_ON_ALL_BANDS for WCN7850 Wu Yunchuan (7): wifi: ar5523: Remove unnecessary (void*) conversions wifi: wcn36xx: remove unnecessary (void*) conversions wifi: ath5k: remove unnecessary (void*) conversions wifi: ath6kl: remove unnecessary (void*) conversions wifi: ath10k: Remove unnecessary (void*) conversions wifi: ath12k: Remove unnecessary (void*) conversions wifi: ath11k: remove unnecessary (void*) conversions Yedidya Benshimol (1): wifi: iwlwifi: mvm: add support for new wowlan_info_notif Zenm Chen (2): wifi: rtl8xxxu: mark TOTOLINK N150UA V5/N150UA-B as tested wifi: rtl8xxxu: Add a description about the device ID 0x7392:0xb722 Zong-Zhe Yang (35): wifi: rtw89: mcc: initialize start flow wifi: rtw89: mcc: fill fundamental configurations wifi: rtw89: mcc: consider and determine BT duration wifi: rtw89: mcc: decide pattern and calculate parameters wifi: rtw89: fix typo of rtw89_fw_h2c_mcc_macid_bitmap() wifi: rtw89: mcc: trigger FW to start/stop MCC wifi: rtw89: 52c: rfk: refine MCC channel info notification wifi: rtw89: rfk: disable driver tracking during MCC wifi: rtw89: 52c: rfk: disable DPK during MCC wifi: rtw89: mcc: update role bitmap when changed wifi: rtw89: mcc: track beacon offset and update when needed wifi: rtw89: mcc: deal with P2P PS change wifi: rtw89: mcc: deal with BT slot change wifi: rtw89: mcc: deal with beacon NoA if GO exists wifi: rtw89: indicate TX shape table inside RFE parameter wifi: rtw89: indicate TX power by rate table inside RFE parameter wifi: rtw89: phy: refine helpers used for raw TX power wifi: rtw89: load TX power by rate when RFE parms setup wifi: rtw89: phy: extend TX power common stuffs for Wi-Fi 7 chips wifi: rtw89: load TX power related tables from FW elements wifi: rtw89: mcc: fix NoA start time when GO is auxiliary wifi: rtw89: pause/proceed MCC for ROC and HW scan wifi: rtw89: 8852c: declare to support two chanctx wifi: rtw89: declare MCC in interface combination wifi: rtw89: regd: configure Thailand in regulation type wifi: rtw89: 8852c: update TX power tables to R67 wifi: rtw89: 8852b: update TX power tables to R35 wifi: rtw89: 8851b: update TX power tables to R34 wifi: rtw89: mac: get TX power control register according to chip gen wifi: rtw89: phy: set TX power by rate according to chip gen wifi: rtw89: phy: set TX power offset according to chip gen wifi: rtw89: phy: set TX power limit according to chip gen wifi: rtw89: phy: set TX power RU limit according to chip gen wifi: rtw89: debug: show txpwr table according to chip gen wifi: rtw89: debug: txpwr table supports Wi-Fi 7 chips drivers/net/wireless/ath/ar5523/ar5523.c | 2 +- drivers/net/wireless/ath/ath10k/ce.h | 2 +- drivers/net/wireless/ath/ath10k/debug.c | 2 +- drivers/net/wireless/ath/ath10k/htt.h | 3 +- drivers/net/wireless/ath/ath10k/htt_rx.c | 1 - drivers/net/wireless/ath/ath10k/htt_tx.c | 16 +- drivers/net/wireless/ath/ath11k/core.c | 108 +- drivers/net/wireless/ath/ath11k/core.h | 2 - drivers/net/wireless/ath/ath11k/dp.c | 2 +- drivers/net/wireless/ath/ath11k/dp_rx.c | 23 +- drivers/net/wireless/ath/ath11k/hal.c | 8 +- drivers/net/wireless/ath/ath11k/hal_rx.c | 31 +- drivers/net/wireless/ath/ath11k/hal_rx.h | 18 +- drivers/net/wireless/ath/ath11k/hal_tx.c | 2 +- drivers/net/wireless/ath/ath11k/mac.c | 71 +- drivers/net/wireless/ath/ath11k/mhi.c | 1 + drivers/net/wireless/ath/ath11k/pci.c | 24 +- drivers/net/wireless/ath/ath11k/spectral.c | 28 +- drivers/net/wireless/ath/ath11k/wmi.c | 8 +- drivers/net/wireless/ath/ath12k/core.c | 60 +- drivers/net/wireless/ath/ath12k/core.h | 4 + drivers/net/wireless/ath/ath12k/dp.c | 1 + drivers/net/wireless/ath/ath12k/dp_mon.c | 12 +- drivers/net/wireless/ath/ath12k/dp_rx.c | 30 +- drivers/net/wireless/ath/ath12k/dp_tx.c | 12 +- drivers/net/wireless/ath/ath12k/hal.c | 12 +- drivers/net/wireless/ath/ath12k/hw.c | 12 + drivers/net/wireless/ath/ath12k/hw.h | 4 + drivers/net/wireless/ath/ath12k/mac.c | 145 +- drivers/net/wireless/ath/ath12k/mac.h | 2 + drivers/net/wireless/ath/ath12k/peer.h | 3 + drivers/net/wireless/ath/ath12k/rx_desc.h | 91 +- drivers/net/wireless/ath/ath12k/wmi.c | 93 +- drivers/net/wireless/ath/ath12k/wmi.h | 25 + drivers/net/wireless/ath/ath5k/base.c | 4 +- drivers/net/wireless/ath/ath5k/pci.c | 4 +- drivers/net/wireless/ath/ath6kl/cfg80211.c | 8 +- drivers/net/wireless/ath/ath6kl/main.c | 4 +- drivers/net/wireless/ath/ath6kl/txrx.c | 2 +- drivers/net/wireless/ath/ath9k/ar9003_phy.c | 11 +- drivers/net/wireless/ath/ath9k/debug.c | 2 +- drivers/net/wireless/ath/ath9k/hif_usb.c | 34 +- drivers/net/wireless/ath/ath9k/htc_drv_debug.c | 2 +- drivers/net/wireless/ath/wcn36xx/dxe.c | 6 +- drivers/net/wireless/ath/wcn36xx/smd.c | 20 +- drivers/net/wireless/ath/wcn36xx/smd.h | 2 +- drivers/net/wireless/ath/wcn36xx/testmode.c | 2 +- drivers/net/wireless/ath/wil6210/cfg80211.c | 3 +- drivers/net/wireless/ath/wil6210/wmi.c | 2 - .../broadcom/brcm80211/brcmfmac/cfg80211.c | 5 +- .../broadcom/brcm80211/brcmfmac/firmware.h | 2 +- .../broadcom/brcm80211/brcmfmac/fwil_types.h | 2 +- drivers/net/wireless/intel/ipw2x00/libipw.h | 2 +- drivers/net/wireless/intel/iwlegacy/4965-mac.c | 2 +- drivers/net/wireless/intel/iwlegacy/common.c | 2 +- drivers/net/wireless/intel/iwlwifi/cfg/bz.c | 10 +- drivers/net/wireless/intel/iwlwifi/cfg/sc.c | 8 +- drivers/net/wireless/intel/iwlwifi/dvm/commands.h | 33 +- drivers/net/wireless/intel/iwlwifi/dvm/dev.h | 14 +- drivers/net/wireless/intel/iwlwifi/dvm/mac80211.c | 6 +- drivers/net/wireless/intel/iwlwifi/dvm/rs.h | 12 +- drivers/net/wireless/intel/iwlwifi/dvm/tt.h | 9 +- drivers/net/wireless/intel/iwlwifi/fw/acpi.c | 18 + drivers/net/wireless/intel/iwlwifi/fw/acpi.h | 5 + drivers/net/wireless/intel/iwlwifi/fw/api/d3.h | 46 +- .../net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h | 1 + drivers/net/wireless/intel/iwlwifi/fw/api/debug.h | 22 + .../net/wireless/intel/iwlwifi/fw/api/nvm-reg.h | 6 +- .../net/wireless/intel/iwlwifi/fw/api/offload.h | 6 +- drivers/net/wireless/intel/iwlwifi/fw/api/power.h | 7 +- drivers/net/wireless/intel/iwlwifi/fw/api/rfi.h | 7 +- drivers/net/wireless/intel/iwlwifi/fw/api/rx.h | 16 +- drivers/net/wireless/intel/iwlwifi/fw/api/txq.h | 4 +- drivers/net/wireless/intel/iwlwifi/fw/dbg.c | 25 + drivers/net/wireless/intel/iwlwifi/fw/dbg.h | 1 + drivers/net/wireless/intel/iwlwifi/fw/debugfs.c | 8 +- drivers/net/wireless/intel/iwlwifi/fw/file.h | 30 +- drivers/net/wireless/intel/iwlwifi/fw/notif-wait.h | 3 +- drivers/net/wireless/intel/iwlwifi/fw/rs.c | 1 - drivers/net/wireless/intel/iwlwifi/iwl-config.h | 5 - .../wireless/intel/iwlwifi/iwl-context-info-gen3.h | 10 +- drivers/net/wireless/intel/iwlwifi/iwl-csr.h | 1 + drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c | 2 + drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.h | 5 +- drivers/net/wireless/intel/iwlwifi/iwl-drv.c | 51 +- drivers/net/wireless/intel/iwlwifi/iwl-drv.h | 2 +- .../net/wireless/intel/iwlwifi/iwl-eeprom-parse.c | 5 +- .../net/wireless/intel/iwlwifi/iwl-eeprom-parse.h | 4 +- drivers/net/wireless/intel/iwlwifi/iwl-fh.h | 13 +- drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c | 80 +- drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.h | 19 +- drivers/net/wireless/intel/iwlwifi/iwl-prph.h | 1 + drivers/net/wireless/intel/iwlwifi/iwl-trans.h | 15 +- drivers/net/wireless/intel/iwlwifi/mvm/constants.h | 1 + drivers/net/wireless/intel/iwlwifi/mvm/d3.c | 165 +- drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 26 +- drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c | 20 +- drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 79 +- .../net/wireless/intel/iwlwifi/mvm/mld-mac80211.c | 4 +- drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c | 23 +- drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 63 +- drivers/net/wireless/intel/iwlwifi/mvm/nvm.c | 12 +- drivers/net/wireless/intel/iwlwifi/mvm/ops.c | 10 +- drivers/net/wireless/intel/iwlwifi/mvm/power.c | 5 + drivers/net/wireless/intel/iwlwifi/mvm/rs.h | 23 +- drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 11 +- drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 9 +- drivers/net/wireless/intel/iwlwifi/mvm/sta.h | 5 +- .../net/wireless/intel/iwlwifi/mvm/time-event.c | 2 +- .../net/wireless/intel/iwlwifi/mvm/time-event.h | 9 +- drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 104 +- drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 3 + drivers/net/wireless/intel/iwlwifi/pcie/internal.h | 59 +- drivers/net/wireless/intel/iwlwifi/pcie/rx.c | 8 +- drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 45 +- drivers/net/wireless/intel/iwlwifi/queue/tx.h | 6 +- drivers/net/wireless/marvell/mwifiex/11h.c | 4 +- drivers/net/wireless/marvell/mwifiex/cfg80211.c | 3 +- drivers/net/wireless/marvell/mwifiex/main.h | 4 +- drivers/net/wireless/marvell/mwifiex/pcie.c | 322 +- drivers/net/wireless/marvell/mwifiex/sdio.c | 10 - drivers/net/wireless/marvell/mwifiex/sdio.h | 4 - drivers/net/wireless/mediatek/mt76/mt7915/init.c | 9 +- drivers/net/wireless/mediatek/mt76/mt7921/main.c | 9 +- drivers/net/wireless/mediatek/mt76/mt7996/init.c | 3 +- drivers/net/wireless/microchip/wilc1000/cfg80211.c | 4 +- drivers/net/wireless/microchip/wilc1000/netdev.c | 20 +- drivers/net/wireless/microchip/wilc1000/netdev.h | 2 + drivers/net/wireless/purelifi/plfxlc/mac.c | 2 +- drivers/net/wireless/quantenna/qtnfmac/cfg80211.c | 4 +- drivers/net/wireless/quantenna/qtnfmac/commands.c | 5 +- drivers/net/wireless/quantenna/qtnfmac/core.c | 2 +- drivers/net/wireless/quantenna/qtnfmac/event.c | 4 +- drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 10 +- .../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 2 + .../net/wireless/realtek/rtlwifi/rtl8188ee/dm.c | 2 +- .../net/wireless/realtek/rtlwifi/rtl8188ee/hw.c | 5 - .../wireless/realtek/rtlwifi/rtl8192c/dm_common.c | 2 +- .../net/wireless/realtek/rtlwifi/rtl8192ce/hw.c | 5 - .../net/wireless/realtek/rtlwifi/rtl8192de/dm.c | 18 +- .../net/wireless/realtek/rtlwifi/rtl8192de/hw.c | 4 - .../net/wireless/realtek/rtlwifi/rtl8723ae/dm.c | 2 +- .../net/wireless/realtek/rtlwifi/rtl8723ae/hw.c | 5 - .../net/wireless/realtek/rtlwifi/rtl8723be/hw.c | 6 - .../net/wireless/realtek/rtlwifi/rtl8821ae/hw.c | 5 - drivers/net/wireless/realtek/rtlwifi/wifi.h | 2 +- drivers/net/wireless/realtek/rtw88/debug.c | 4 +- drivers/net/wireless/realtek/rtw88/rtw8822cu.c | 4 +- drivers/net/wireless/realtek/rtw89/chan.c | 1576 +++++++- drivers/net/wireless/realtek/rtw89/chan.h | 34 + drivers/net/wireless/realtek/rtw89/core.c | 336 +- drivers/net/wireless/realtek/rtw89/core.h | 396 +- drivers/net/wireless/realtek/rtw89/debug.c | 272 +- drivers/net/wireless/realtek/rtw89/fw.c | 665 +++- drivers/net/wireless/realtek/rtw89/fw.h | 144 +- drivers/net/wireless/realtek/rtw89/mac.c | 154 +- drivers/net/wireless/realtek/rtw89/mac.h | 27 +- drivers/net/wireless/realtek/rtw89/mac80211.c | 3 +- drivers/net/wireless/realtek/rtw89/mac_be.c | 223 ++ drivers/net/wireless/realtek/rtw89/pci.c | 3 +- drivers/net/wireless/realtek/rtw89/phy.c | 419 ++- drivers/net/wireless/realtek/rtw89/phy.h | 123 +- drivers/net/wireless/realtek/rtw89/phy_be.c | 568 +++ drivers/net/wireless/realtek/rtw89/reg.h | 326 +- drivers/net/wireless/realtek/rtw89/regd.c | 4 +- drivers/net/wireless/realtek/rtw89/rtw8851b.c | 12 +- .../net/wireless/realtek/rtw89/rtw8851b_table.c | 1347 +++---- .../net/wireless/realtek/rtw89/rtw8851b_table.h | 3 - drivers/net/wireless/realtek/rtw89/rtw8852a.c | 7 +- .../net/wireless/realtek/rtw89/rtw8852a_table.c | 2 + .../net/wireless/realtek/rtw89/rtw8852a_table.h | 1 - drivers/net/wireless/realtek/rtw89/rtw8852b.c | 12 +- .../net/wireless/realtek/rtw89/rtw8852b_table.c | 333 +- .../net/wireless/realtek/rtw89/rtw8852b_table.h | 3 - drivers/net/wireless/realtek/rtw89/rtw8852c.c | 26 +- drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c | 107 +- drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h | 3 + .../wireless/realtek/rtw89/rtw8852c_rfk_table.c | 42 +- .../net/wireless/realtek/rtw89/rtw8852c_table.c | 3782 ++++++++++++++++++-- .../net/wireless/realtek/rtw89/rtw8852c_table.h | 3 - drivers/net/wireless/realtek/rtw89/txrx.h | 271 ++ drivers/net/wireless/realtek/rtw89/wow.c | 4 +- drivers/net/wireless/st/cw1200/txrx.c | 2 +- drivers/net/wireless/ti/wl12xx/main.c | 6 +- drivers/net/wireless/ti/wl18xx/main.c | 2 +- drivers/net/wireless/ti/wlcore/event.c | 2 +- drivers/net/wireless/ti/wlcore/main.c | 12 +- drivers/net/wireless/ti/wlcore/wlcore.h | 2 +- drivers/net/wireless/virtual/mac80211_hwsim.c | 58 +- drivers/net/wireless/virtual/mac80211_hwsim.h | 19 +- drivers/ssb/main.c | 2 +- drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 6 +- include/linux/ieee80211.h | 103 +- include/net/cfg80211.h | 219 +- include/net/mac80211.h | 58 +- include/net/regulatory.h | 1 + include/uapi/linux/nl80211.h | 39 +- net/mac80211/Kconfig | 11 + net/mac80211/Makefile | 2 + net/mac80211/agg-rx.c | 63 +- net/mac80211/agg-tx.c | 63 +- net/mac80211/airtime.c | 10 +- net/mac80211/cfg.c | 490 ++- net/mac80211/chan.c | 156 +- net/mac80211/debugfs.c | 11 +- net/mac80211/debugfs_key.c | 20 +- net/mac80211/debugfs_netdev.c | 133 +- net/mac80211/debugfs_sta.c | 4 +- net/mac80211/driver-ops.c | 31 +- net/mac80211/driver-ops.h | 127 +- net/mac80211/drop.h | 49 +- net/mac80211/ethtool.c | 20 +- net/mac80211/ht.c | 60 +- net/mac80211/ibss.c | 104 +- net/mac80211/ieee80211_i.h | 220 +- net/mac80211/iface.c | 170 +- net/mac80211/key.c | 158 +- net/mac80211/key.h | 11 +- net/mac80211/link.c | 56 +- net/mac80211/main.c | 91 +- net/mac80211/mesh.c | 16 +- net/mac80211/mesh_pathtbl.c | 2 +- net/mac80211/mlme.c | 666 ++-- net/mac80211/ocb.c | 19 +- net/mac80211/offchannel.c | 103 +- net/mac80211/pm.c | 13 +- net/mac80211/rc80211_minstrel_ht.c | 7 +- net/mac80211/rx.c | 104 +- net/mac80211/s1g.c | 15 +- net/mac80211/scan.c | 226 +- net/mac80211/spectmgmt.c | 13 +- net/mac80211/sta_info.c | 111 +- net/mac80211/sta_info.h | 26 +- net/mac80211/status.c | 102 +- net/mac80211/tdls.c | 86 +- net/mac80211/tests/Makefile | 3 + net/mac80211/tests/elems.c | 101 + net/mac80211/tests/module.c | 10 + net/mac80211/trace.h | 11 +- net/mac80211/tx.c | 73 +- net/mac80211/util.c | 248 +- net/mac80211/wep.c | 9 +- net/mac80211/wpa.c | 42 +- net/wireless/Kconfig | 11 + net/wireless/Makefile | 1 + net/wireless/ap.c | 24 +- net/wireless/chan.c | 55 +- net/wireless/core.c | 72 +- net/wireless/core.h | 60 +- net/wireless/ibss.c | 76 +- net/wireless/lib80211_crypt_tkip.c | 12 +- net/wireless/mesh.c | 28 +- net/wireless/mlme.c | 21 +- net/wireless/nl80211.c | 536 ++- net/wireless/ocb.c | 43 +- net/wireless/pmsr.c | 4 +- net/wireless/rdev-ops.h | 2 +- net/wireless/reg.c | 99 +- net/wireless/reg.h | 16 +- net/wireless/scan.c | 74 +- net/wireless/sme.c | 59 +- net/wireless/sysfs.c | 4 +- net/wireless/tests/Makefile | 3 + net/wireless/tests/fragmentation.c | 157 + net/wireless/tests/module.c | 10 + net/wireless/trace.h | 78 +- net/wireless/util.c | 57 +- net/wireless/wext-compat.c | 43 +- net/wireless/wext-sme.c | 59 +- 269 files changed, 14659 insertions(+), 5442 deletions(-) create mode 100644 net/mac80211/tests/Makefile create mode 100644 net/mac80211/tests/elems.c create mode 100644 net/mac80211/tests/module.c create mode 100644 net/wireless/tests/Makefile create mode 100644 net/wireless/tests/fragmentation.c create mode 100644 net/wireless/tests/module.c