scan.c (da6a4352e7c867f81d7336f6517e819b3cce06bf) scan.c (b34939b9836950d261610132853311054b507247)
1/*
2 * Scanning implementation
3 *
4 * Copyright 2003, Jouni Malinen <jkmaline@cc.hut.fi>
5 * Copyright 2004, Instant802 Networks, Inc.
6 * Copyright 2005, Devicescape Software, Inc.
7 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz>
8 * Copyright 2007, Michael Wu <flamingice@sourmilk.net>

--- 1205 unchanged lines hidden (view full) ---

1214}
1215
1216void ieee80211_sched_scan_results(struct ieee80211_hw *hw)
1217{
1218 struct ieee80211_local *local = hw_to_local(hw);
1219
1220 trace_api_sched_scan_results(local);
1221
1/*
2 * Scanning implementation
3 *
4 * Copyright 2003, Jouni Malinen <jkmaline@cc.hut.fi>
5 * Copyright 2004, Instant802 Networks, Inc.
6 * Copyright 2005, Devicescape Software, Inc.
7 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz>
8 * Copyright 2007, Michael Wu <flamingice@sourmilk.net>

--- 1205 unchanged lines hidden (view full) ---

1214}
1215
1216void ieee80211_sched_scan_results(struct ieee80211_hw *hw)
1217{
1218 struct ieee80211_local *local = hw_to_local(hw);
1219
1220 trace_api_sched_scan_results(local);
1221
1222 cfg80211_sched_scan_results(hw->wiphy);
1222 cfg80211_sched_scan_results(hw->wiphy, 0);
1223}
1224EXPORT_SYMBOL(ieee80211_sched_scan_results);
1225
1226void ieee80211_sched_scan_end(struct ieee80211_local *local)
1227{
1228 mutex_lock(&local->mtx);
1229
1230 if (!rcu_access_pointer(local->sched_scan_sdata)) {
1231 mutex_unlock(&local->mtx);
1232 return;
1233 }
1234
1235 RCU_INIT_POINTER(local->sched_scan_sdata, NULL);
1236
1237 /* If sched scan was aborted by the driver. */
1238 RCU_INIT_POINTER(local->sched_scan_req, NULL);
1239
1240 mutex_unlock(&local->mtx);
1241
1223}
1224EXPORT_SYMBOL(ieee80211_sched_scan_results);
1225
1226void ieee80211_sched_scan_end(struct ieee80211_local *local)
1227{
1228 mutex_lock(&local->mtx);
1229
1230 if (!rcu_access_pointer(local->sched_scan_sdata)) {
1231 mutex_unlock(&local->mtx);
1232 return;
1233 }
1234
1235 RCU_INIT_POINTER(local->sched_scan_sdata, NULL);
1236
1237 /* If sched scan was aborted by the driver. */
1238 RCU_INIT_POINTER(local->sched_scan_req, NULL);
1239
1240 mutex_unlock(&local->mtx);
1241
1242 cfg80211_sched_scan_stopped(local->hw.wiphy);
1242 cfg80211_sched_scan_stopped(local->hw.wiphy, 0);
1243}
1244
1245void ieee80211_sched_scan_stopped_work(struct work_struct *work)
1246{
1247 struct ieee80211_local *local =
1248 container_of(work, struct ieee80211_local,
1249 sched_scan_stopped_work);
1250

--- 20 unchanged lines hidden ---
1243}
1244
1245void ieee80211_sched_scan_stopped_work(struct work_struct *work)
1246{
1247 struct ieee80211_local *local =
1248 container_of(work, struct ieee80211_local,
1249 sched_scan_stopped_work);
1250

--- 20 unchanged lines hidden ---