]> git.baikalelectronics.ru Git - kernel.git/commit
iwlagn: fix scan complete processing
authorJohannes Berg <johannes.berg@intel.com>
Thu, 22 Sep 2011 22:15:00 +0000 (15:15 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 27 Sep 2011 18:34:09 +0000 (14:34 -0400)
commitc906d451206a28e007cac4c9bed1ada07d26f60b
tree91659c23350ca7d93fa383ba9ea439d360140b8b
parenta3b099a4eb7668876be18b2da5808e038c6172a5
iwlagn: fix scan complete processing

When we cancel a scan, the completion runs
only from the workqueue. This can cause the
remain-on-channel scan to fail when another
one was just canceled, because we're still
aborting it.

To fix this, run the completion inline with
the lock still held before returning from
iwl_scan_cancel_timeout().

Also, to avoid the scan complete work from
completing a new scan prematurely, add a
new STATUS_SCAN_COMPLETE bit.

Reported-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Tested-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-scan.c
drivers/net/wireless/iwlwifi/iwl-shared.h