aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/intel
diff options
context:
space:
mode:
authorAndrei Otcheretianski <andrei.otcheretianski@intel.com>2019-04-10 08:31:28 -0400
committerLuca Coelho <luciano.coelho@intel.com>2019-04-29 11:42:46 -0400
commit11af74ad1d29bc853b1bb10a7b61a1f790acb0f7 (patch)
tree182e4cdeffaf0c460d2b8435425939da25cfb123 /drivers/net/wireless/intel
parentfd986b0b7a723cb381c35e35163003611de6f2da (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.c2
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/time-event.c2
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: