|
@@ -271,10 +271,10 @@ static bool ieee80211_prep_hw_scan(struct ieee80211_local *local)
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
-static void __ieee80211_scan_completed(struct ieee80211_hw *hw, bool aborted,
|
|
|
- bool was_hw_scan)
|
|
|
+static void __ieee80211_scan_completed(struct ieee80211_hw *hw, bool aborted)
|
|
|
{
|
|
|
struct ieee80211_local *local = hw_to_local(hw);
|
|
|
+ bool hw_scan = local->ops->hw_scan;
|
|
|
|
|
|
lockdep_assert_held(&local->mtx);
|
|
|
|
|
@@ -290,7 +290,7 @@ static void __ieee80211_scan_completed(struct ieee80211_hw *hw, bool aborted,
|
|
|
if (WARN_ON(!local->scan_req))
|
|
|
return;
|
|
|
|
|
|
- if (was_hw_scan && !aborted && ieee80211_prep_hw_scan(local)) {
|
|
|
+ if (hw_scan && !aborted && ieee80211_prep_hw_scan(local)) {
|
|
|
int rc;
|
|
|
|
|
|
rc = drv_hw_scan(local,
|
|
@@ -316,7 +316,7 @@ static void __ieee80211_scan_completed(struct ieee80211_hw *hw, bool aborted,
|
|
|
/* Set power back to normal operating levels. */
|
|
|
ieee80211_hw_config(local, 0);
|
|
|
|
|
|
- if (!was_hw_scan) {
|
|
|
+ if (!hw_scan) {
|
|
|
ieee80211_configure_filter(local);
|
|
|
drv_sw_scan_complete(local);
|
|
|
ieee80211_offchannel_return(local);
|
|
@@ -747,7 +747,7 @@ void ieee80211_scan_work(struct work_struct *work)
|
|
|
container_of(work, struct ieee80211_local, scan_work.work);
|
|
|
struct ieee80211_sub_if_data *sdata;
|
|
|
unsigned long next_delay = 0;
|
|
|
- bool aborted, hw_scan;
|
|
|
+ bool aborted;
|
|
|
|
|
|
mutex_lock(&local->mtx);
|
|
|
|
|
@@ -826,8 +826,7 @@ void ieee80211_scan_work(struct work_struct *work)
|
|
|
goto out;
|
|
|
|
|
|
out_complete:
|
|
|
- hw_scan = test_bit(SCAN_HW_SCANNING, &local->scanning);
|
|
|
- __ieee80211_scan_completed(&local->hw, aborted, hw_scan);
|
|
|
+ __ieee80211_scan_completed(&local->hw, aborted);
|
|
|
out:
|
|
|
mutex_unlock(&local->mtx);
|
|
|
}
|
|
@@ -965,7 +964,7 @@ void ieee80211_scan_cancel(struct ieee80211_local *local)
|
|
|
*/
|
|
|
cancel_delayed_work(&local->scan_work);
|
|
|
/* and clean up */
|
|
|
- __ieee80211_scan_completed(&local->hw, true, false);
|
|
|
+ __ieee80211_scan_completed(&local->hw, true);
|
|
|
out:
|
|
|
mutex_unlock(&local->mtx);
|
|
|
}
|