diff options
author | Johannes Berg <johannes.berg@intel.com> | 2010-04-07 00:21:36 -0700 |
---|---|---|
committer | Reinette Chatre <reinette.chatre@intel.com> | 2010-04-16 13:27:10 -0700 |
commit | 88be026490ed89c2ffead81a52531fbac5507e01 (patch) | |
tree | 94f8727e5027a09f24623bd4dcecbbbe1be6922a /drivers/net/wireless/iwlwifi/iwl-core.c | |
parent | 8b9fce77737ae9983f61ec56cd53f52fb738b2c7 (diff) | |
download | kernel_samsung_smdk4412-88be026490ed89c2ffead81a52531fbac5507e01.zip kernel_samsung_smdk4412-88be026490ed89c2ffead81a52531fbac5507e01.tar.gz kernel_samsung_smdk4412-88be026490ed89c2ffead81a52531fbac5507e01.tar.bz2 |
iwlwifi: fix scan races
When an internal scan is started, nothing protects the
is_internal_short_scan variable which can cause crashes,
cf. https://bugzilla.kernel.org/show_bug.cgi?id=15667.
Fix this by making the short scan request use the mutex
for locking, which requires making the request go to a
work struct so that it can sleep.
Reported-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-core.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-core.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.c b/drivers/net/wireless/iwlwifi/iwl-core.c index 894bcb8..1459cdb 100644 --- a/drivers/net/wireless/iwlwifi/iwl-core.c +++ b/drivers/net/wireless/iwlwifi/iwl-core.c @@ -3357,7 +3357,6 @@ static void iwl_force_rf_reset(struct iwl_priv *priv) */ IWL_DEBUG_INFO(priv, "perform radio reset.\n"); iwl_internal_short_hw_scan(priv); - return; } |