diff options
author | Andrei Otcheretianski <andrei.otcheretianski@intel.com> | 2019-04-10 08:31:28 -0400 |
---|---|---|
committer | Luca Coelho <luciano.coelho@intel.com> | 2019-04-29 11:42:46 -0400 |
commit | 11af74ad1d29bc853b1bb10a7b61a1f790acb0f7 (patch) | |
tree | 182e4cdeffaf0c460d2b8435425939da25cfb123 /drivers/net/wireless/intel | |
parent | fd986b0b7a723cb381c35e35163003611de6f2da (diff) |
iwlwifi: mvm: Don't sleep in RX path
Don't use cancel_delayed_work_sync() inside the channel switch
notifications as they are handled synchronously as part of the RX path.
Fix that by replacing it with cancel_delayed_work(). This should be safe
as we don't really care whether the work is already started and in such
case we would disconnect anyway.
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/time-event.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c index fcec25b7b679..53c217af13c8 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c | |||
@@ -1570,7 +1570,7 @@ void iwl_mvm_channel_switch_noa_notif(struct iwl_mvm *mvm, | |||
1570 | return; | 1570 | return; |
1571 | case NL80211_IFTYPE_STATION: | 1571 | case NL80211_IFTYPE_STATION: |
1572 | iwl_mvm_csa_client_absent(mvm, vif); | 1572 | iwl_mvm_csa_client_absent(mvm, vif); |
1573 | cancel_delayed_work_sync(&mvmvif->csa_work); | 1573 | cancel_delayed_work(&mvmvif->csa_work); |
1574 | ieee80211_chswitch_done(vif, true); | 1574 | ieee80211_chswitch_done(vif, true); |
1575 | break; | 1575 | break; |
1576 | default: | 1576 | default: |
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c b/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c index 50314018d157..4d34e5ab1bff 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c | |||
@@ -234,7 +234,7 @@ iwl_mvm_te_handle_notify_csa(struct iwl_mvm *mvm, | |||
234 | break; | 234 | break; |
235 | } | 235 | } |
236 | iwl_mvm_csa_client_absent(mvm, te_data->vif); | 236 | iwl_mvm_csa_client_absent(mvm, te_data->vif); |
237 | cancel_delayed_work_sync(&mvmvif->csa_work); | 237 | cancel_delayed_work(&mvmvif->csa_work); |
238 | ieee80211_chswitch_done(te_data->vif, true); | 238 | ieee80211_chswitch_done(te_data->vif, true); |
239 | break; | 239 | break; |
240 | default: | 240 | default: |