]> 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)
commit9d93095e1612521437af092106ac8dd93e6730df
tree91659c23350ca7d93fa383ba9ea439d360140b8b
parent7a3f1bb296d18c0e3e21a3a8172d034fbc743128
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