bianbu-linux-6.6/drivers/net/wireless/intel/iwlwifi/dvm
Miri Korenblit fc163831ba wifi: iwlwifi: empty overflow queue during flush
[ Upstream commit 658939fc68d3241f9a0019e224cd7154438c23f2 ]

If a TX queue has no space for new TX frames, the driver will keep
these frames in the overflow queue, and during reclaim flow it
will retry to send the frames from that queue.
But if the reclaim flow was invoked from TX queue flush, we will also
TX these frames, which is wrong as we don't want to TX anything
after flush.
This might also cause assert 0x125F when removing the queue,
saying that the driver removes a non-empty queue
Fix this by TXing the overflow queue's frames only if we are
not in flush queue flow.

Fixes: a445098058 ("iwlwifi: move reclaim flows to the queue file")
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20231022173519.caf06c8709d9.Ibf664ccb3f952e836f8fa461ea58fc08e5c46e88@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-11-20 11:59:03 +01:00
..
agn.h wifi: iwlwifi: calib: Refactor iwl_calib_result usage for clarity 2022-09-07 10:16:27 +03:00
calib.c wifi: iwlwifi: calib: Refactor iwl_calib_result usage for clarity 2022-09-07 10:16:27 +03:00
calib.h iwlwifi: use SPDX tags 2020-12-10 00:15:31 +02:00
commands.h treewide: Replace open-coded flex arrays in unions 2021-10-18 12:28:53 -07:00
debugfs.c iwlwifi: remove contact information 2021-10-22 10:48:59 +03:00
dev.h wifi: iwlwifi: Track scan_cmd allocation size explicitly 2022-09-28 09:43:58 +03:00
devices.c iwlwifi: remove contact information 2021-10-22 10:48:59 +03:00
led.c iwlwifi: remove contact information 2021-10-22 10:48:59 +03:00
led.h iwlwifi: remove contact information 2021-10-22 10:48:59 +03:00
lib.c wifi: mac80211: make some SMPS code MLD-aware 2022-06-20 12:55:30 +02:00
mac80211.c wifi: mac80211: add wake_tx_queue callback to drivers 2022-10-10 11:00:03 +02:00
main.c wifi: mac80211: return a beacon for a specific link 2022-06-20 12:57:08 +02:00
Makefile wireless: prefix header search paths with $(srctree)/ 2019-02-01 14:42:25 +02:00
power.c iwlwifi: remove contact information 2021-10-22 10:48:59 +03:00
power.h iwlwifi: remove contact information 2021-10-22 10:48:59 +03:00
rs.c wifi: iwlwifi: dvm: fix -Wunused-const-variable gcc warning 2023-06-19 14:35:29 +02:00
rs.h iwlwifi: remove contact information 2021-10-22 10:48:59 +03:00
rx.c iwlwifi: dvm: use struct_size over open coded arithmetic 2022-02-18 10:40:55 +02:00
rxon.c wifi: mac80211: return a beacon for a specific link 2022-06-20 12:57:08 +02:00
scan.c wifi: iwlwifi: Track scan_cmd allocation size explicitly 2022-09-28 09:43:58 +03:00
sta.c wifi: iwlwifi: dvm: Fix memcpy: detected field-spanning write backtrace 2023-04-19 09:42:28 +02:00
tt.c iwlwifi: remove contact information 2021-10-22 10:48:59 +03:00
tt.h iwlwifi: remove contact information 2021-10-22 10:48:59 +03:00
tx.c wifi: iwlwifi: empty overflow queue during flush 2023-11-20 11:59:03 +01:00
ucode.c wifi: iwlwifi: calib: Refactor iwl_calib_result usage for clarity 2022-09-07 10:16:27 +03:00