linux/drivers/net/wireless/intel/iwlwifi/mvm
Johannes Berg fb84b5cbca wifi: iwlwifi: mvm: fix driver-set TX rates on old devices
On old devices such as 7265D, rates are still encoded in version 1
format, which doesn't use the CCK/OFDM rate index (0-3/0-7) but
rather their PLCP value (e.g. 10 for 1 Mbps CCK rate.)

While introducing v3 rates, I changed the driver from internally
handling v1 rates and converting to v2, to internally handling v3
and converting to v1 or v2 according to the firmware. I accordingly
changed the code in iwl_mvm_mac80211_idx_to_hwrate() to no longer
have different values for different APIs. This was correct.

However, I later reverted this part of the change, because it was
reported that I had broken beacon rates, causing a FW assert/crash.
This caused TX_CMD rates to be set incorrectly, potentially causing
a warning when reported back from the device as having been used.

Fix this (hopefully correctly now) by handling beacon rates in the
TX_CMD that's embedded in the beacon template command separately.
Restore iwl_mvm_mac80211_idx_to_hwrate() to return only the rate
index, not PLCP value, fixing the real TX_CMD.

Cc: stable@vger.kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Link: https://patch.msgid.link/20260515151351.7407e293dff7.I4ea1a17f8fe99c933d3f3e30d077cf4246125c3e@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-05-16 23:31:25 +03:00
..
tests wifi: iwlwifi: mvm: remove MLO code 2025-08-26 18:39:44 +03:00
binding.c wifi: iwlwifi: simplify nested if checks 2025-01-13 15:34:09 +01:00
coex.c wifi: iwlwifi: mvm: remove MLO code 2025-08-26 18:39:44 +03:00
constants.h wifi: iwlwifi: mvm: remove MLO code 2025-08-26 18:39:44 +03:00
d3.c wifi: iwlwifi: mvm: fix potential out-of-bounds read in iwl_mvm_nd_match_info_handler() 2026-03-24 16:03:48 +01:00
debugfs-vif.c wifi: iwlwifi: mvm: remove MLO code 2025-08-26 18:39:44 +03:00
debugfs.c kernel.h: drop hex.h and update all hex.h users 2026-01-20 19:44:19 -08:00
debugfs.h wifi: iwlwifi: mvm: add a per-link debugfs 2023-10-23 12:21:47 +02:00
ftm-initiator.c wifi: move action code from per-type frame structs 2026-03-06 10:36:26 +01:00
ftm-responder.c wifi: iwlwifi: mvm: Remove unused iwl_mvm_ftm_*_add_pasn_sta functions 2025-02-11 11:48:25 +01:00
fw-api.h
fw.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-04-02 11:03:13 -07:00
led.c wifi: iwlwifi: rename cfg_trans_params to mac_cfg 2025-05-09 15:37:54 +03:00
link.c wifi: iwlwifi: mvm: Cleanup MLO code 2026-01-21 14:23:02 +02:00
mac-ctxt.c wifi: iwlwifi: mvm: fix driver-set TX rates on old devices 2026-05-16 23:31:25 +03:00
mac80211.c wifi: iwlwifi: use IWL_FW_CHECK for sync timeout 2026-03-25 11:31:57 +02:00
Makefile wifi: iwlwifi: mvm: replace CONFIG_PM by CONFIG_PM_SLEEP 2024-09-06 12:56:03 +02:00
mld-key.c wifi: iwlwifi: mvm: cleanup some more MLO code 2026-03-25 11:31:55 +02:00
mld-mac.c wifi: iwlwifi: add MAC context command version 4 2026-03-25 11:31:57 +02:00
mld-mac80211.c wifi: iwlwifi: mvm: cleanup some more MLO code 2026-03-25 11:31:55 +02:00
mld-sta.c wifi: iwlwifi: mld: add support for sta command version 3 2026-03-25 11:31:56 +02:00
mvm.h wifi: iwlwifi: mvm: cleanup some more MLO code 2026-03-25 11:31:55 +02:00
nvm.c wifi: iwlwifi: cfg: move MAC parameters to MAC data 2025-05-09 15:38:47 +03:00
offloading.c wifi: iwlwifi: mvm: support new versions of the wowlan APIs 2024-11-07 14:42:29 +01:00
ops.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
phy-ctxt.c wifi: iwlwifi: mvm: cleanup unsupported phy command versions 2025-10-28 16:17:26 +02:00
power.c wifi: iwlwifi: mvm: Remove NAN support 2025-07-23 14:10:24 +03:00
ptp.c wifi: iwlwifi: handle NULL/ERR returns from ptp_clock_register() 2026-03-25 11:31:57 +02:00
quota.c wifi: iwlwifi: mvm: remove nl80211 testmode 2025-05-06 22:22:11 +03:00
rfi.c wifi: iwlwifi: mvm: rfi: fix potential response leaks 2024-03-25 15:23:07 +01:00
rs-fw.c wifi: iwlwifi: cfg: inline HT params 2025-05-09 15:37:06 +03:00
rs.c wifi: iwlwifi: mvm: move rate conversions to utils.c 2025-10-28 16:05:17 +02:00
rs.h wifi: iwlwifi: mvm: move rate conversions to utils.c 2025-10-28 16:05:17 +02:00
rx.c wifi: iwlwifi: mvm/mld: report non-HT frames as 20 MHz 2025-10-28 16:17:27 +02:00
rxmq.c wifi: iwlwifi: mvm: Cleanup MLO code 2026-01-21 14:23:02 +02:00
scan.c Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
sf.c wifi: iwlwifi: mvm: don't send the smart fifo command if not needed 2024-02-08 15:00:48 +01:00
sta.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
sta.h wifi: iwlwifi: mvm: cleanup some more MLO code 2026-03-25 11:31:55 +02:00
tdls.c wifi: iwlwifi: mvm: replace use of system_wq with system_percpu_wq 2026-03-25 11:31:55 +02:00
testmode.h
time-event.c wifi: iwlwifi: mvm: Remove link_id from time_events 2026-01-21 14:23:03 +02:00
time-event.h wifi: iwlwifi: mvm: Remove link_id from time_events 2026-01-21 14:23:03 +02:00
time-sync.c wifi: move action code from per-type frame structs 2026-03-06 10:36:26 +01:00
time-sync.h wifi: iwlwifi: mvm: support enabling and disabling HW timestamping 2023-03-22 13:16:37 +01:00
tt.c wifi: iwlwifi: mvm: use a radio/system specific power budget 2025-05-09 15:36:35 +03:00
tx.c wifi: iwlwifi: mvm: Cleanup MLO code 2026-01-21 14:23:02 +02:00
utils.c wifi: iwlwifi: mvm: fix driver-set TX rates on old devices 2026-05-16 23:31:25 +03:00
vendor-cmd.c wifi: iwlwifi: mvm: Replace spaces for tabs in iwl_mvm_vendor_events_idx 2024-12-04 16:11:59 +01:00