mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-03 15:55:38 +00:00
![]() When we get a channel switch with a very long quiet period, we schedule a work to disconnect after a while. This work runs in background. In the meanwhile, we keep getting beacons and sending FW modify command for each. This has a potential race, where we modify the CSA after we aborted it. Protect the flow by setting csa_failed to true in case we abort, and check it before sending the modify command. This required a modification to the way we treat csa_failed in iwl_mvm_post_channel_switch: 1. The variable isn't being reset anymore, so we can still look at it in iwl_mvm_channel_switch_rx_beacon. This is fine, since we reset it when starting a new CSA. 2. There is no more early return in case of csa_failed. This is fine, since before this patch csa_failed was set only for GO, and for GO the function is only resetting the power settings, which we want to restore even in case of failure. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Link: https://lore.kernel.org/r/iwlwifi.20201209231352.b023856bdf39.I4ed0149e0018fe5e1ae3c2a1cbc614954016063f@changeid Signed-off-by: Luca Coelho <luciano.coelho@intel.com> |
||
---|---|---|
.. | ||
cfg | ||
dvm | ||
fw | ||
mvm | ||
pcie | ||
queue | ||
iwl-agn-hw.h | ||
iwl-config.h | ||
iwl-context-info-gen3.h | ||
iwl-context-info.h | ||
iwl-csr.h | ||
iwl-dbg-tlv.c | ||
iwl-dbg-tlv.h | ||
iwl-debug.c | ||
iwl-debug.h | ||
iwl-devtrace-data.h | ||
iwl-devtrace-io.h | ||
iwl-devtrace-iwlwifi.h | ||
iwl-devtrace-msg.h | ||
iwl-devtrace-ucode.h | ||
iwl-devtrace.c | ||
iwl-devtrace.h | ||
iwl-drv.c | ||
iwl-drv.h | ||
iwl-eeprom-parse.c | ||
iwl-eeprom-parse.h | ||
iwl-eeprom-read.c | ||
iwl-eeprom-read.h | ||
iwl-fh.h | ||
iwl-io.c | ||
iwl-io.h | ||
iwl-modparams.h | ||
iwl-nvm-parse.c | ||
iwl-nvm-parse.h | ||
iwl-op-mode.h | ||
iwl-phy-db.c | ||
iwl-phy-db.h | ||
iwl-prph.h | ||
iwl-scd.h | ||
iwl-trans.c | ||
iwl-trans.h | ||
Kconfig | ||
Makefile |