1. Aug 25, 2023
  2. Aug 24, 2023
  3. Aug 23, 2023
    • Yue Haibing's avatar
      wifi: wilc1000: Remove unused declarations · c4125bf8
      Yue Haibing authored
      Commit 8399918f ("staging: wilc1000: use RCU list to maintain vif interfaces list")
      removed wilc_get_interface() but not its declaration.
      Commit 9bc061e8
      
       ("staging: wilc1000: added support to dynamically add/remove interfaces")
      declared but never implemented wilc_cfg_alloc() and wilc_netdev_interface().
      
      Signed-off-by: default avatarYue Haibing <yuehaibing@huawei.com>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://lore.kernel.org/r/20230819102100.13720-1-yuehaibing@huawei.com
      c4125bf8
    • Dmitry Antipov's avatar
      wifi: mwifiex: avoid possible NULL skb pointer dereference · 35a7a1ce
      Dmitry Antipov authored
      In 'mwifiex_handle_uap_rx_forward()', always check the value
      returned by 'skb_copy()' to avoid potential NULL pointer
      dereference in 'mwifiex_uap_queue_bridged_pkt()', and drop
      original skb in case of copying failure.
      
      Found by Linux Verification Center (linuxtesting.org) with SVACE.
      
      Fixes: 838e4f44
      
       ("mwifiex: improve uAP RX handling")
      Acked-by: default avatarBrian Norris <briannorris@chromium.org>
      Signed-off-by: default avatarDmitry Antipov <dmantipov@yandex.ru>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://lore.kernel.org/r/20230814095041.16416-1-dmantipov@yandex.ru
      35a7a1ce
    • Shiji Yang's avatar
      wifi: rt2x00: limit MT7620 TX power based on eeprom calibration · 821b5192
      Shiji Yang authored
      
      
      In the vendor driver, the current channel power is queried from
      EEPROM_TXPOWER_BG1 and EEPROM_TXPOWER_BG2. And then the mixed value
      will be written into the low half-word of the TX_ALC_CFG_0 register.
      The high half-word of the TX_ALC_CFG_0 is a fixed value 0x2f2f.
      
      We can't get the accurate TX power. Based on my tests and the new
      MediaTek mt76 driver source code, the real TX power is approximately
      equal to channel_power + (max) rate_power. Usually max rate_power is
      the gain of the OFDM 6M rate, which can be readed from the offset
      EEPROM_TXPOWER_BYRATE +1.
      
      Based on these eeprom values, this patch adds basic TX power control
      for the MT7620 and limits its maximum TX power. This can avoid the
      link speed decrease caused by chip overheating. rt2800_config_alc()
      function has also been renamed to rt2800_config_alc_rt6352() because
      it's only used by RT6352 (MT7620).
      
      Notice:
      It's still need some work to sync the max channel power to the user
      interface. This part is missing from the rt2x00 driver framework. If
      we set the power exceed the calibration value, it won't take effect.
      
      Signed-off-by: default avatarShiji Yang <yangshiji66@outlook.com>
      Acked-by: default avatarStanislaw Gruszka <stf_xl@wp.pl>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://lore.kernel.org/r/TYAP286MB03159090ED14044215E59FD6BC10A@TYAP286MB0315.JPNP286.PROD.OUTLOOK.COM
      821b5192
    • Li Zetao's avatar
      wifi: wfx: Use devm_kmemdup to replace devm_kmalloc + memcpy · eaa8023e
      Li Zetao authored
      
      
      Use the helper function devm_kmemdup() rather than duplicating its
      implementation, which helps to enhance code readability.
      
      Signed-off-by: default avatarLi Zetao <lizetao1@huawei.com>
      Reviewed-by: default avatarJérôme Pouiller <jerome.pouiller@silabs.com>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://lore.kernel.org/r/20230810114939.2104013-1-lizetao1@huawei.com
      eaa8023e
    • Wu Yunchuan's avatar
      7d8473c7
    • Wu Yunchuan's avatar
      f543235c
    • Wu Yunchuan's avatar
      361beddb
    • Wu Yunchuan's avatar
      f9bf6e72
    • Wu Yunchuan's avatar
      db2be1a0
    • Wu Yunchuan's avatar
      wifi: rsi: rsi_91x_mac80211: Remove unnecessary conversions · 6d5d2dbd
      Wu Yunchuan authored
      
      
      No need cast (struct rsi_hw *) to (struct rsi_hw *),
      or cast (struct rsi_common *) to (struct rsi_common *).
      
      Signed-off-by: default avatarWu Yunchuan <yunchuan@nfschina.com>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://lore.kernel.org/r/20230803073517.3666559-1-yunchuan@nfschina.com
      6d5d2dbd
    • Wu Yunchuan's avatar
      wifi: rsi: rsi_91x_hal: Remove unnecessary conversions · 52424e0c
      Wu Yunchuan authored
      
      
      No need cast (struct rsi_hw *) to (struct rsi_hw *).
      
      Signed-off-by: default avatarWu Yunchuan <yunchuan@nfschina.com>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://lore.kernel.org/r/20230803073507.3666471-1-yunchuan@nfschina.com
      52424e0c
    • Wu Yunchuan's avatar
      148924e5
    • Wu Yunchuan's avatar
      wifi: rsi: rsi_91x_coex: Remove unnecessary (void*) conversions · 5f48e916
      Wu Yunchuan authored
      
      
      No need cast (void*) to (struct rsi_coex_ctrl_block *) or
      (struct rsi_common *).
      
      Signed-off-by: default avatarWu Yunchuan <yunchuan@nfschina.com>
      Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
      Link: https://lore.kernel.org/r/20230803073440.3666204-1-yunchuan@nfschina.com
      5f48e916
    • Jeff Johnson's avatar
      wifi: Fix ieee80211.h kernel-doc issues · 9e261e6d
      Jeff Johnson authored
      
      
      The kernel-doc script identified multiple issues in ieee80211.h, so
      fix them. In the process update some references to the latest
      applicable specification.
      
      include/linux/ieee80211.h:848: warning: Function parameter or member 'count' not described in 'ieee80211_quiet_ie'
      include/linux/ieee80211.h:848: warning: Function parameter or member 'period' not described in 'ieee80211_quiet_ie'
      include/linux/ieee80211.h:848: warning: Function parameter or member 'duration' not described in 'ieee80211_quiet_ie'
      include/linux/ieee80211.h:848: warning: Function parameter or member 'offset' not described in 'ieee80211_quiet_ie'
      include/linux/ieee80211.h:860: warning: Function parameter or member 'token' not described in 'ieee80211_msrment_ie'
      include/linux/ieee80211.h:860: warning: Function parameter or member 'mode' not described in 'ieee80211_msrment_ie'
      include/linux/ieee80211.h:860: warning: Function parameter or member 'type' not described in 'ieee80211_msrment_ie'
      include/linux/ieee80211.h:860: warning: Function parameter or member 'request' not described in 'ieee80211_msrment_ie'
      include/linux/ieee80211.h:871: warning: Function parameter or member 'mode' not described in 'ieee80211_channel_sw_ie'
      include/linux/ieee80211.h:871: warning: Function parameter or member 'new_ch_num' not described in 'ieee80211_channel_sw_ie'
      include/linux/ieee80211.h:871: warning: Function parameter or member 'count' not described in 'ieee80211_channel_sw_ie'
      include/linux/ieee80211.h:883: warning: Function parameter or member 'mode' not described in 'ieee80211_ext_chansw_ie'
      include/linux/ieee80211.h:883: warning: Function parameter or member 'new_operating_class' not described in 'ieee80211_ext_chansw_ie'
      include/linux/ieee80211.h:883: warning: Function parameter or member 'new_ch_num' not described in 'ieee80211_ext_chansw_ie'
      include/linux/ieee80211.h:883: warning: Function parameter or member 'count' not described in 'ieee80211_ext_chansw_ie'
      include/linux/ieee80211.h:905: warning: Function parameter or member 'mesh_ttl' not described in 'ieee80211_mesh_chansw_params_ie'
      include/linux/ieee80211.h:905: warning: Function parameter or member 'mesh_flags' not described in 'ieee80211_mesh_chansw_params_ie'
      include/linux/ieee80211.h:905: warning: Function parameter or member 'mesh_reason' not described in 'ieee80211_mesh_chansw_params_ie'
      include/linux/ieee80211.h:905: warning: Function parameter or member 'mesh_pre_value' not described in 'ieee80211_mesh_chansw_params_ie'
      include/linux/ieee80211.h:913: warning: Function parameter or member 'new_channel_width' not described in 'ieee80211_wide_bw_chansw_ie'
      include/linux/ieee80211.h:913: warning: Function parameter or member 'new_center_freq_seg0' not described in 'ieee80211_wide_bw_chansw_ie'
      include/linux/ieee80211.h:913: warning: Function parameter or member 'new_center_freq_seg1' not described in 'ieee80211_wide_bw_chansw_ie'
      include/linux/ieee80211.h:926: warning: expecting prototype for struct ieee80211_tim. Prototype was for struct ieee80211_tim_ie instead
      include/linux/ieee80211.h:941: warning: Function parameter or member 'meshconf_psel' not described in 'ieee80211_meshconf_ie'
      include/linux/ieee80211.h:941: warning: Function parameter or member 'meshconf_pmetric' not described in 'ieee80211_meshconf_ie'
      include/linux/ieee80211.h:941: warning: Function parameter or member 'meshconf_congest' not described in 'ieee80211_meshconf_ie'
      include/linux/ieee80211.h:941: warning: Function parameter or member 'meshconf_synch' not described in 'ieee80211_meshconf_ie'
      include/linux/ieee80211.h:941: warning: Function parameter or member 'meshconf_auth' not described in 'ieee80211_meshconf_ie'
      include/linux/ieee80211.h:941: warning: Function parameter or member 'meshconf_form' not described in 'ieee80211_meshconf_ie'
      include/linux/ieee80211.h:941: warning: Function parameter or member 'meshconf_cap' not described in 'ieee80211_meshconf_ie'
      include/linux/ieee80211.h:964: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
       * mesh channel switch parameters element's flag indicator
      include/linux/ieee80211.h:984: warning: Function parameter or member 'rann_flags' not described in 'ieee80211_rann_ie'
      include/linux/ieee80211.h:984: warning: Function parameter or member 'rann_hopcount' not described in 'ieee80211_rann_ie'
      include/linux/ieee80211.h:984: warning: Function parameter or member 'rann_ttl' not described in 'ieee80211_rann_ie'
      include/linux/ieee80211.h:984: warning: Function parameter or member 'rann_addr' not described in 'ieee80211_rann_ie'
      include/linux/ieee80211.h:984: warning: Function parameter or member 'rann_seq' not described in 'ieee80211_rann_ie'
      include/linux/ieee80211.h:984: warning: Function parameter or member 'rann_interval' not described in 'ieee80211_rann_ie'
      include/linux/ieee80211.h:984: warning: Function parameter or member 'rann_metric' not described in 'ieee80211_rann_ie'
      include/linux/ieee80211.h:1019: warning: expecting prototype for enum ieee80211_opmode_bits. Prototype was for enum ieee80211_vht_opmode_bits instead
      include/linux/ieee80211.h:1052: warning: Function parameter or member 'tx_power' not described in 'ieee80211_tpc_report_ie'
      include/linux/ieee80211.h:1052: warning: Function parameter or member 'link_margin' not described in 'ieee80211_tpc_report_ie'
      include/linux/ieee80211.h:1073: warning: Function parameter or member 'compat_info' not described in 'ieee80211_s1g_bcn_compat_ie'
      include/linux/ieee80211.h:1073: warning: Function parameter or member 'beacon_int' not described in 'ieee80211_s1g_bcn_compat_ie'
      include/linux/ieee80211.h:1073: warning: Function parameter or member 'tsf_completion' not described in 'ieee80211_s1g_bcn_compat_ie'
      include/linux/ieee80211.h:1086: warning: Function parameter or member 'ch_width' not described in 'ieee80211_s1g_oper_ie'
      include/linux/ieee80211.h:1086: warning: Function parameter or member 'oper_class' not described in 'ieee80211_s1g_oper_ie'
      include/linux/ieee80211.h:1086: warning: Function parameter or member 'primary_ch' not described in 'ieee80211_s1g_oper_ie'
      include/linux/ieee80211.h:1086: warning: Function parameter or member 'oper_ch' not described in 'ieee80211_s1g_oper_ie'
      include/linux/ieee80211.h:1086: warning: Function parameter or member 'basic_mcs_nss' not described in 'ieee80211_s1g_oper_ie'
      include/linux/ieee80211.h:1097: warning: Function parameter or member 'aid' not described in 'ieee80211_aid_response_ie'
      include/linux/ieee80211.h:1097: warning: Function parameter or member 'switch_count' not described in 'ieee80211_aid_response_ie'
      include/linux/ieee80211.h:1097: warning: Function parameter or member 'response_int' not described in 'ieee80211_aid_response_ie'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_STATUS' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_MINOR_REASON' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_CAPABILITY' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_DEVICE_ID' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_GO_INTENT' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_GO_CONFIG_TIMEOUT' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_LISTEN_CHANNEL' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_GROUP_BSSID' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_EXT_LISTEN_TIMING' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_INTENDED_IFACE_ADDR' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_MANAGABILITY' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_CHANNEL_LIST' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_ABSENCE_NOTICE' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_DEVICE_INFO' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_GROUP_INFO' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_GROUP_ID' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_INTERFACE' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_OPER_CHANNEL' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_INVITE_FLAGS' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_VENDOR_SPECIFIC' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1519: warning: Enum value 'IEEE80211_P2P_ATTR_MAX' not described in enum 'ieee80211_p2p_attr_id'
      include/linux/ieee80211.h:1554: warning: Function parameter or member 'frame_control' not described in 'ieee80211_bar'
      include/linux/ieee80211.h:1554: warning: Function parameter or member 'duration' not described in 'ieee80211_bar'
      include/linux/ieee80211.h:1554: warning: Function parameter or member 'ra' not described in 'ieee80211_bar'
      include/linux/ieee80211.h:1554: warning: Function parameter or member 'ta' not described in 'ieee80211_bar'
      include/linux/ieee80211.h:1554: warning: Function parameter or member 'control' not described in 'ieee80211_bar'
      include/linux/ieee80211.h:1554: warning: Function parameter or member 'start_seq_num' not described in 'ieee80211_bar'
      include/linux/ieee80211.h:1579: warning: Function parameter or member 'reserved' not described in 'ieee80211_mcs_info'
      include/linux/ieee80211.h:1618: warning: Function parameter or member 'cap_info' not described in 'ieee80211_ht_cap'
      include/linux/ieee80211.h:1618: warning: Function parameter or member 'ampdu_params_info' not described in 'ieee80211_ht_cap'
      include/linux/ieee80211.h:1618: warning: Function parameter or member 'mcs' not described in 'ieee80211_ht_cap'
      include/linux/ieee80211.h:1618: warning: Function parameter or member 'extended_ht_cap_info' not described in 'ieee80211_ht_cap'
      include/linux/ieee80211.h:1618: warning: Function parameter or member 'tx_BF_cap_info' not described in 'ieee80211_ht_cap'
      include/linux/ieee80211.h:1618: warning: Function parameter or member 'antenna_selection_info' not described in 'ieee80211_ht_cap'
      include/linux/ieee80211.h:1704: warning: Function parameter or member 'primary_chan' not described in 'ieee80211_ht_operation'
      include/linux/ieee80211.h:1704: warning: Function parameter or member 'ht_param' not described in 'ieee80211_ht_operation'
      include/linux/ieee80211.h:1704: warning: Function parameter or member 'operation_mode' not described in 'ieee80211_ht_operation'
      include/linux/ieee80211.h:1704: warning: Function parameter or member 'stbc_param' not described in 'ieee80211_ht_operation'
      include/linux/ieee80211.h:1704: warning: Function parameter or member 'basic_set' not described in 'ieee80211_ht_operation'
      include/linux/ieee80211.h:1872: warning: Function parameter or member 'mac_cap_info' not described in 'ieee80211_he_cap_elem'
      include/linux/ieee80211.h:1872: warning: Function parameter or member 'phy_cap_info' not described in 'ieee80211_he_cap_elem'
      include/linux/ieee80211.h:1936: warning: Function parameter or member 'he_oper_params' not described in 'ieee80211_he_operation'
      include/linux/ieee80211.h:1936: warning: Function parameter or member 'he_mcs_nss_set' not described in 'ieee80211_he_operation'
      include/linux/ieee80211.h:1936: warning: Function parameter or member 'optional' not described in 'ieee80211_he_operation'
      include/linux/ieee80211.h:1948: warning: Function parameter or member 'he_sr_control' not described in 'ieee80211_he_spr'
      include/linux/ieee80211.h:1948: warning: Function parameter or member 'optional' not described in 'ieee80211_he_spr'
      include/linux/ieee80211.h:1960: warning: Function parameter or member 'aifsn' not described in 'ieee80211_he_mu_edca_param_ac_rec'
      include/linux/ieee80211.h:1960: warning: Function parameter or member 'ecw_min_max' not described in 'ieee80211_he_mu_edca_param_ac_rec'
      include/linux/ieee80211.h:1960: warning: Function parameter or member 'mu_edca_timer' not described in 'ieee80211_he_mu_edca_param_ac_rec'
      include/linux/ieee80211.h:1974: warning: Function parameter or member 'mu_qos_info' not described in 'ieee80211_mu_edca_param_set'
      include/linux/ieee80211.h:1974: warning: Function parameter or member 'ac_be' not described in 'ieee80211_mu_edca_param_set'
      include/linux/ieee80211.h:1974: warning: Function parameter or member 'ac_bk' not described in 'ieee80211_mu_edca_param_set'
      include/linux/ieee80211.h:1974: warning: Function parameter or member 'ac_vi' not described in 'ieee80211_mu_edca_param_set'
      include/linux/ieee80211.h:1974: warning: Function parameter or member 'ac_vo' not described in 'ieee80211_mu_edca_param_set'
      include/linux/ieee80211.h:2194: warning: Enum value 'IEEE80211_REG_LPI_AP' not described in enum 'ieee80211_ap_reg_power'
      include/linux/ieee80211.h:2194: warning: Enum value 'IEEE80211_REG_SP_AP' not described in enum 'ieee80211_ap_reg_power'
      include/linux/ieee80211.h:2194: warning: Enum value 'IEEE80211_REG_VLP_AP' not described in enum 'ieee80211_ap_reg_power'
      include/linux/ieee80211.h:2194: warning: Excess enum value 'IEEE80211_REG_SP' description in 'ieee80211_ap_reg_power'
      include/linux/ieee80211.h:2194: warning: Excess enum value 'IEEE80211_REG_VLP' description in 'ieee80211_ap_reg_power'
      include/linux/ieee80211.h:2194: warning: Excess enum value 'IEEE80211_REG_LPI' description in 'ieee80211_ap_reg_power'
      include/linux/ieee80211.h:2577: warning: cannot understand function prototype: 'struct ieee80211_he_6ghz_oper '
      include/linux/ieee80211.h:2624: warning: Function parameter or member 'tx_power_info' not described in 'ieee80211_tx_pwr_env'
      include/linux/ieee80211.h:2624: warning: Function parameter or member 'tx_power' not described in 'ieee80211_tx_pwr_env'
      include/linux/ieee80211.h:4485: warning: expecting prototype for RSNX Capabilities(). Prototype was for WLAN_RSNX_CAPA_PROTECTED_TWT() instead
      include/linux/ieee80211.h:4734: warning: expecting prototype for ieee80211_mle_get_eml_sync_delay(). Prototype was for ieee80211_mle_get_eml_med_sync_delay() instead
      117 warnings as Errors
      
      Signed-off-by: default avatarJeff Johnson <quic_jjohnson@quicinc.com>
      Link: https://lore.kernel.org/r/20230822-kerneldoc-v1-1-0d42ce5029bf@quicinc.com
      
      
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      9e261e6d
    • Johannes Berg's avatar
      Revert "wifi: mac80211_hwsim: check the return value of nla_put_u32" · 1b78dd34
      Johannes Berg authored
      This reverts commit b970ac68
      
       ("wifi: mac80211_hwsim: check the
      return value of nla_put_u32") since it introduced a memory leak in
      the error path, which seems worse than sending an incomplete skb,
      and the put can't fail anyway since the SKB was just allocated.
      
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      1b78dd34
    • Arnd Bergmann's avatar
      mac80211: make ieee80211_tx_info padding explicit · a7a2ef0c
      Arnd Bergmann authored
      While looking at a bug, I got rather confused by the layout of the
      'status' field in ieee80211_tx_info. Apparently, the intention is that
      status_driver_data[] is used for driver specific data, and fills up the
      size of the union to 40 bytes, just like the other ones.
      
      This is indeed what actually happens, but only because of the
      combination of two mistakes:
      
       - "void *status_driver_data[18 / sizeof(void *)];" is intended
         to be 18 bytes long but is actually two bytes shorter because of
         rounding-down in the division, to a multiple of the pointer
         size (4 bytes or 8 bytes).
      
       - The other fields combined are intended to be 22 bytes long, but
         are actually 24 bytes because of padding in front of the
         unaligned tx_time member, and in front of the pointer array.
      
      The two mistakes cancel out. so the size ends up fine, but it seems
      more helpful to make this explicit, by having a multiple of 8 bytes
      in the size calculation and explicitly describing the padding.
      
      Fixes: ea5907db ("mac80211: fix struct ieee80211_tx_info size")
      Fixes: 02219b3a
      
       ("mac80211: add WMM admission control support")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      Link: https://lore.kernel.org/r/20230623152443.2296825-2-arnd@kernel.org
      
      
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      a7a2ef0c
    • Randy Dunlap's avatar
      wifi: mac80211: fix kernel-doc notation warning · c6662a4b
      Randy Dunlap authored
      Add description for struct member 'agg' to prevent a kernel-doc
      warning.
      
      mac80211.h:2289: warning: Function parameter or member 'agg' not described in 'ieee80211_link_sta'
      
      Fixes: 4c51541d
      
       ("wifi: mac80211: keep A-MSDU data in sta and per-link")
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: Paolo Abeni <pabeni@redhat.com>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Cc: Benjamin Berg <benjamin.berg@intel.com>
      Cc: linux-wireless@vger.kernel.org
      Link: https://lore.kernel.org/r/20230710230312.31197-10-rdunlap@infradead.org
      
      
      [reword the kernel-doc comment]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      c6662a4b
    • Randy Dunlap's avatar
      wifi: radiotap: fix kernel-doc notation warnings · 266a5cd7
      Randy Dunlap authored
      Fix a typo (82011 -> 80211) to prevent a kernel-doc warning.
      Add one missing function parameter description to prevent a
      kernel-doc warning.
      
      ieee80211_radiotap.h:52: warning: expecting prototype for struct ieee82011_radiotap_header. Prototype was for struct ieee80211_radiotap_header instead
      ieee80211_radiotap.h:581: warning: Function parameter or member 'data' not described in 'ieee80211_get_radiotap_len'
      
      Fixes: 42f82e2e
      
       ("wireless: radiotap: rewrite the radiotap header file")
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: Paolo Abeni <pabeni@redhat.com>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Cc: linux-wireless@vger.kernel.org
      Link: https://lore.kernel.org/r/20230710230312.31197-7-rdunlap@infradead.org
      
      
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      266a5cd7
    • Randy Dunlap's avatar
      wifi: cfg80211: remove dead/unused enum value · a49a0d4e
      Randy Dunlap authored
      Drop an unused (extra) enum value to prevent a kernel-doc warning.
      
      cfg80211.h:1492: warning: Excess enum value 'STATION_PARAM_APPLY_STA_TXPOWER' description in 'station_parameters_apply_mask'
      
      Fixes: 2d8b08fe
      
       ("wifi: cfg80211: fix kernel-doc warnings all over the file")
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: Paolo Abeni <pabeni@redhat.com>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Cc: linux-wireless@vger.kernel.org
      Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
      Link: https://lore.kernel.org/r/20230710230312.31197-3-rdunlap@infradead.org
      
      
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      a49a0d4e
    • Dmitry Antipov's avatar
      wifi: cfg80211: improve documentation for flag fields · 1dcf396b
      Dmitry Antipov authored
      
      
      Fix and hopefully improve documentation for 'flag' fields of
      a few types by adding references to relevant enumerations.
      
      Signed-off-by: default avatarDmitry Antipov <dmantipov@yandex.ru>
      Link: https://lore.kernel.org/r/20230713132957.275859-1-dmantipov@yandex.ru
      
      
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      1dcf396b
    • Yue Haibing's avatar
      wifi: nl80211: Remove unused declaration nl80211_pmsr_dump_results() · 9265f78b
      Yue Haibing authored
      nl80211_pmsr_dump_results() is never implemented since it was added in
      commit 9bb7e0f2
      
       ("cfg80211: add peer measurement with FTM initiator
      API").
      
      Signed-off-by: default avatarYue Haibing <yuehaibing@huawei.com>
      Reviewed-by: default avatarSimon Horman <horms@kernel.org>
      Link: https://lore.kernel.org/r/20230729121651.36836-1-yuehaibing@huawei.com
      
      
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      9265f78b
    • Yue Haibing's avatar
      wifi: mac80211: mesh: Remove unused function declaration mesh_ids_set_default() · a3d9c4f7
      Yue Haibing authored
      Commit ccf80ddf
      
       ("mac80211: mesh function and data structures
      definitions") introducted this but never implemented it.
      
      Signed-off-by: default avatarYue Haibing <yuehaibing@huawei.com>
      Reviewed-by: default avatarSimon Horman <horms@kernel.org>
      Link: https://lore.kernel.org/r/20230731140712.1204-1-yuehaibing@huawei.com
      
      
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      a3d9c4f7