diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/wireless/ath/ath6kl/cfg80211.c | 17 | ||||
| -rw-r--r-- | drivers/net/wireless/ath/wil6210/cfg80211.c | 6 | ||||
| -rw-r--r-- | drivers/net/wireless/ath/wil6210/main.c | 12 | ||||
| -rw-r--r-- | drivers/net/wireless/ath/wil6210/p2p.c | 6 | ||||
| -rw-r--r-- | drivers/net/wireless/ath/wil6210/wmi.c | 8 | ||||
| -rw-r--r-- | drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 6 | ||||
| -rw-r--r-- | drivers/net/wireless/intersil/orinoco/scan.c | 12 | ||||
| -rw-r--r-- | drivers/net/wireless/marvell/libertas/cfg.c | 11 | ||||
| -rw-r--r-- | drivers/net/wireless/marvell/mwifiex/cmdevt.c | 12 | ||||
| -rw-r--r-- | drivers/net/wireless/marvell/mwifiex/main.c | 6 | ||||
| -rw-r--r-- | drivers/net/wireless/marvell/mwifiex/scan.c | 12 | ||||
| -rw-r--r-- | drivers/net/wireless/rndis_wlan.c | 10 | ||||
| -rw-r--r-- | drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c | 11 | ||||
| -rw-r--r-- | drivers/staging/wilc1000/wilc_wfi_cfgoperations.c | 12 | ||||
| -rw-r--r-- | drivers/staging/wlan-ng/cfg80211.c | 5 |
15 files changed, 117 insertions, 29 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/cfg80211.c b/drivers/net/wireless/ath/ath6kl/cfg80211.c index 4e11ba06f089..ef5b40ef6d67 100644 --- a/drivers/net/wireless/ath/ath6kl/cfg80211.c +++ b/drivers/net/wireless/ath/ath6kl/cfg80211.c | |||
| @@ -859,7 +859,11 @@ void ath6kl_cfg80211_disconnect_event(struct ath6kl_vif *vif, u8 reason, | |||
| 859 | struct ath6kl *ar = vif->ar; | 859 | struct ath6kl *ar = vif->ar; |
| 860 | 860 | ||
| 861 | if (vif->scan_req) { | 861 | if (vif->scan_req) { |
| 862 | cfg80211_scan_done(vif->scan_req, true); | 862 | struct cfg80211_scan_info info = { |
| 863 | .aborted = true, | ||
| 864 | }; | ||
| 865 | |||
| 866 | cfg80211_scan_done(vif->scan_req, &info); | ||
| 863 | vif->scan_req = NULL; | 867 | vif->scan_req = NULL; |
| 864 | } | 868 | } |
| 865 | 869 | ||
| @@ -1069,6 +1073,9 @@ static int ath6kl_cfg80211_scan(struct wiphy *wiphy, | |||
| 1069 | void ath6kl_cfg80211_scan_complete_event(struct ath6kl_vif *vif, bool aborted) | 1073 | void ath6kl_cfg80211_scan_complete_event(struct ath6kl_vif *vif, bool aborted) |
| 1070 | { | 1074 | { |
| 1071 | struct ath6kl *ar = vif->ar; | 1075 | struct ath6kl *ar = vif->ar; |
| 1076 | struct cfg80211_scan_info info = { | ||
| 1077 | .aborted = aborted, | ||
| 1078 | }; | ||
| 1072 | int i; | 1079 | int i; |
| 1073 | 1080 | ||
| 1074 | ath6kl_dbg(ATH6KL_DBG_WLAN_CFG, "%s: status%s\n", __func__, | 1081 | ath6kl_dbg(ATH6KL_DBG_WLAN_CFG, "%s: status%s\n", __func__, |
| @@ -1089,7 +1096,7 @@ void ath6kl_cfg80211_scan_complete_event(struct ath6kl_vif *vif, bool aborted) | |||
| 1089 | } | 1096 | } |
| 1090 | 1097 | ||
| 1091 | out: | 1098 | out: |
| 1092 | cfg80211_scan_done(vif->scan_req, aborted); | 1099 | cfg80211_scan_done(vif->scan_req, &info); |
| 1093 | vif->scan_req = NULL; | 1100 | vif->scan_req = NULL; |
| 1094 | } | 1101 | } |
| 1095 | 1102 | ||
| @@ -3614,7 +3621,11 @@ void ath6kl_cfg80211_vif_stop(struct ath6kl_vif *vif, bool wmi_ready) | |||
| 3614 | } | 3621 | } |
| 3615 | 3622 | ||
| 3616 | if (vif->scan_req) { | 3623 | if (vif->scan_req) { |
| 3617 | cfg80211_scan_done(vif->scan_req, true); | 3624 | struct cfg80211_scan_info info = { |
| 3625 | .aborted = true, | ||
| 3626 | }; | ||
| 3627 | |||
| 3628 | cfg80211_scan_done(vif->scan_req, &info); | ||
| 3618 | vif->scan_req = NULL; | 3629 | vif->scan_req = NULL; |
| 3619 | } | 3630 | } |
| 3620 | 3631 | ||
diff --git a/drivers/net/wireless/ath/wil6210/cfg80211.c b/drivers/net/wireless/ath/wil6210/cfg80211.c index 62bf9331bd7f..f0e1175fb76a 100644 --- a/drivers/net/wireless/ath/wil6210/cfg80211.c +++ b/drivers/net/wireless/ath/wil6210/cfg80211.c | |||
| @@ -1369,7 +1369,11 @@ static void wil_cfg80211_stop_p2p_device(struct wiphy *wiphy, | |||
| 1369 | mutex_lock(&wil->mutex); | 1369 | mutex_lock(&wil->mutex); |
| 1370 | started = wil_p2p_stop_discovery(wil); | 1370 | started = wil_p2p_stop_discovery(wil); |
| 1371 | if (started && wil->scan_request) { | 1371 | if (started && wil->scan_request) { |
| 1372 | cfg80211_scan_done(wil->scan_request, 1); | 1372 | struct cfg80211_scan_info info = { |
| 1373 | .aborted = true, | ||
| 1374 | }; | ||
| 1375 | |||
| 1376 | cfg80211_scan_done(wil->scan_request, &info); | ||
| 1373 | wil->scan_request = NULL; | 1377 | wil->scan_request = NULL; |
| 1374 | wil->radio_wdev = wil->wdev; | 1378 | wil->radio_wdev = wil->wdev; |
| 1375 | } | 1379 | } |
diff --git a/drivers/net/wireless/ath/wil6210/main.c b/drivers/net/wireless/ath/wil6210/main.c index 8e31d755bbee..4bc92e54984a 100644 --- a/drivers/net/wireless/ath/wil6210/main.c +++ b/drivers/net/wireless/ath/wil6210/main.c | |||
| @@ -850,10 +850,14 @@ int wil_reset(struct wil6210_priv *wil, bool load_fw) | |||
| 850 | mutex_unlock(&wil->wmi_mutex); | 850 | mutex_unlock(&wil->wmi_mutex); |
| 851 | 851 | ||
| 852 | if (wil->scan_request) { | 852 | if (wil->scan_request) { |
| 853 | struct cfg80211_scan_info info = { | ||
| 854 | .aborted = true, | ||
| 855 | }; | ||
| 856 | |||
| 853 | wil_dbg_misc(wil, "Abort scan_request 0x%p\n", | 857 | wil_dbg_misc(wil, "Abort scan_request 0x%p\n", |
| 854 | wil->scan_request); | 858 | wil->scan_request); |
| 855 | del_timer_sync(&wil->scan_timer); | 859 | del_timer_sync(&wil->scan_timer); |
| 856 | cfg80211_scan_done(wil->scan_request, true); | 860 | cfg80211_scan_done(wil->scan_request, &info); |
| 857 | wil->scan_request = NULL; | 861 | wil->scan_request = NULL; |
| 858 | } | 862 | } |
| 859 | 863 | ||
| @@ -1049,10 +1053,14 @@ int __wil_down(struct wil6210_priv *wil) | |||
| 1049 | (void)wil_p2p_stop_discovery(wil); | 1053 | (void)wil_p2p_stop_discovery(wil); |
| 1050 | 1054 | ||
| 1051 | if (wil->scan_request) { | 1055 | if (wil->scan_request) { |
| 1056 | struct cfg80211_scan_info info = { | ||
| 1057 | .aborted = true, | ||
| 1058 | }; | ||
| 1059 | |||
| 1052 | wil_dbg_misc(wil, "Abort scan_request 0x%p\n", | 1060 | wil_dbg_misc(wil, "Abort scan_request 0x%p\n", |
| 1053 | wil->scan_request); | 1061 | wil->scan_request); |
| 1054 | del_timer_sync(&wil->scan_timer); | 1062 | del_timer_sync(&wil->scan_timer); |
| 1055 | cfg80211_scan_done(wil->scan_request, true); | 1063 | cfg80211_scan_done(wil->scan_request, &info); |
| 1056 | wil->scan_request = NULL; | 1064 | wil->scan_request = NULL; |
| 1057 | } | 1065 | } |
| 1058 | 1066 | ||
diff --git a/drivers/net/wireless/ath/wil6210/p2p.c b/drivers/net/wireless/ath/wil6210/p2p.c index 213b8259638c..e0f8aa0ebfac 100644 --- a/drivers/net/wireless/ath/wil6210/p2p.c +++ b/drivers/net/wireless/ath/wil6210/p2p.c | |||
| @@ -252,8 +252,12 @@ void wil_p2p_search_expired(struct work_struct *work) | |||
| 252 | mutex_unlock(&wil->mutex); | 252 | mutex_unlock(&wil->mutex); |
| 253 | 253 | ||
| 254 | if (started) { | 254 | if (started) { |
| 255 | struct cfg80211_scan_info info = { | ||
| 256 | .aborted = false, | ||
| 257 | }; | ||
| 258 | |||
| 255 | mutex_lock(&wil->p2p_wdev_mutex); | 259 | mutex_lock(&wil->p2p_wdev_mutex); |
| 256 | cfg80211_scan_done(wil->scan_request, 0); | 260 | cfg80211_scan_done(wil->scan_request, &info); |
| 257 | wil->scan_request = NULL; | 261 | wil->scan_request = NULL; |
| 258 | wil->radio_wdev = wil->wdev; | 262 | wil->radio_wdev = wil->wdev; |
| 259 | mutex_unlock(&wil->p2p_wdev_mutex); | 263 | mutex_unlock(&wil->p2p_wdev_mutex); |
diff --git a/drivers/net/wireless/ath/wil6210/wmi.c b/drivers/net/wireless/ath/wil6210/wmi.c index b80c5d850e1e..4d92541913c0 100644 --- a/drivers/net/wireless/ath/wil6210/wmi.c +++ b/drivers/net/wireless/ath/wil6210/wmi.c | |||
| @@ -426,15 +426,17 @@ static void wmi_evt_scan_complete(struct wil6210_priv *wil, int id, | |||
| 426 | { | 426 | { |
| 427 | if (wil->scan_request) { | 427 | if (wil->scan_request) { |
| 428 | struct wmi_scan_complete_event *data = d; | 428 | struct wmi_scan_complete_event *data = d; |
| 429 | bool aborted = (data->status != WMI_SCAN_SUCCESS); | 429 | struct cfg80211_scan_info info = { |
| 430 | .aborted = (data->status != WMI_SCAN_SUCCESS), | ||
| 431 | }; | ||
| 430 | 432 | ||
| 431 | wil_dbg_wmi(wil, "SCAN_COMPLETE(0x%08x)\n", data->status); | 433 | wil_dbg_wmi(wil, "SCAN_COMPLETE(0x%08x)\n", data->status); |
| 432 | wil_dbg_misc(wil, "Complete scan_request 0x%p aborted %d\n", | 434 | wil_dbg_misc(wil, "Complete scan_request 0x%p aborted %d\n", |
| 433 | wil->scan_request, aborted); | 435 | wil->scan_request, info.aborted); |
| 434 | 436 | ||
| 435 | del_timer_sync(&wil->scan_timer); | 437 | del_timer_sync(&wil->scan_timer); |
| 436 | mutex_lock(&wil->p2p_wdev_mutex); | 438 | mutex_lock(&wil->p2p_wdev_mutex); |
| 437 | cfg80211_scan_done(wil->scan_request, aborted); | 439 | cfg80211_scan_done(wil->scan_request, &info); |
| 438 | wil->radio_wdev = wil->wdev; | 440 | wil->radio_wdev = wil->wdev; |
| 439 | mutex_unlock(&wil->p2p_wdev_mutex); | 441 | mutex_unlock(&wil->p2p_wdev_mutex); |
| 440 | wil->scan_request = NULL; | 442 | wil->scan_request = NULL; |
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index 264bd638a3d9..afe2b202040a 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | |||
| @@ -775,9 +775,13 @@ s32 brcmf_notify_escan_complete(struct brcmf_cfg80211_info *cfg, | |||
| 775 | if (!aborted) | 775 | if (!aborted) |
| 776 | cfg80211_sched_scan_results(cfg_to_wiphy(cfg)); | 776 | cfg80211_sched_scan_results(cfg_to_wiphy(cfg)); |
| 777 | } else if (scan_request) { | 777 | } else if (scan_request) { |
| 778 | struct cfg80211_scan_info info = { | ||
| 779 | .aborted = aborted, | ||
| 780 | }; | ||
| 781 | |||
| 778 | brcmf_dbg(SCAN, "ESCAN Completed scan: %s\n", | 782 | brcmf_dbg(SCAN, "ESCAN Completed scan: %s\n", |
| 779 | aborted ? "Aborted" : "Done"); | 783 | aborted ? "Aborted" : "Done"); |
| 780 | cfg80211_scan_done(scan_request, aborted); | 784 | cfg80211_scan_done(scan_request, &info); |
| 781 | } | 785 | } |
| 782 | if (!test_and_clear_bit(BRCMF_SCAN_STATUS_BUSY, &cfg->scan_status)) | 786 | if (!test_and_clear_bit(BRCMF_SCAN_STATUS_BUSY, &cfg->scan_status)) |
| 783 | brcmf_dbg(SCAN, "Scan complete, probably P2P scan\n"); | 787 | brcmf_dbg(SCAN, "Scan complete, probably P2P scan\n"); |
diff --git a/drivers/net/wireless/intersil/orinoco/scan.c b/drivers/net/wireless/intersil/orinoco/scan.c index d0ceb06c72d0..6d1d084854fb 100644 --- a/drivers/net/wireless/intersil/orinoco/scan.c +++ b/drivers/net/wireless/intersil/orinoco/scan.c | |||
| @@ -237,7 +237,11 @@ void orinoco_add_hostscan_results(struct orinoco_private *priv, | |||
| 237 | 237 | ||
| 238 | scan_abort: | 238 | scan_abort: |
| 239 | if (priv->scan_request) { | 239 | if (priv->scan_request) { |
| 240 | cfg80211_scan_done(priv->scan_request, abort); | 240 | struct cfg80211_scan_info info = { |
| 241 | .aborted = abort, | ||
| 242 | }; | ||
| 243 | |||
| 244 | cfg80211_scan_done(priv->scan_request, &info); | ||
| 241 | priv->scan_request = NULL; | 245 | priv->scan_request = NULL; |
| 242 | } | 246 | } |
| 243 | } | 247 | } |
| @@ -245,7 +249,11 @@ void orinoco_add_hostscan_results(struct orinoco_private *priv, | |||
| 245 | void orinoco_scan_done(struct orinoco_private *priv, bool abort) | 249 | void orinoco_scan_done(struct orinoco_private *priv, bool abort) |
| 246 | { | 250 | { |
| 247 | if (priv->scan_request) { | 251 | if (priv->scan_request) { |
| 248 | cfg80211_scan_done(priv->scan_request, abort); | 252 | struct cfg80211_scan_info info = { |
| 253 | .aborted = abort, | ||
| 254 | }; | ||
| 255 | |||
| 256 | cfg80211_scan_done(priv->scan_request, &info); | ||
| 249 | priv->scan_request = NULL; | 257 | priv->scan_request = NULL; |
| 250 | } | 258 | } |
| 251 | } | 259 | } |
diff --git a/drivers/net/wireless/marvell/libertas/cfg.c b/drivers/net/wireless/marvell/libertas/cfg.c index 776b44bfd93a..ea4802446618 100644 --- a/drivers/net/wireless/marvell/libertas/cfg.c +++ b/drivers/net/wireless/marvell/libertas/cfg.c | |||
| @@ -796,10 +796,15 @@ void lbs_scan_done(struct lbs_private *priv) | |||
| 796 | { | 796 | { |
| 797 | WARN_ON(!priv->scan_req); | 797 | WARN_ON(!priv->scan_req); |
| 798 | 798 | ||
| 799 | if (priv->internal_scan) | 799 | if (priv->internal_scan) { |
| 800 | kfree(priv->scan_req); | 800 | kfree(priv->scan_req); |
| 801 | else | 801 | } else { |
| 802 | cfg80211_scan_done(priv->scan_req, false); | 802 | struct cfg80211_scan_info info = { |
| 803 | .aborted = false, | ||
| 804 | }; | ||
| 805 | |||
| 806 | cfg80211_scan_done(priv->scan_req, &info); | ||
| 807 | } | ||
| 803 | 808 | ||
| 804 | priv->scan_req = NULL; | 809 | priv->scan_req = NULL; |
| 805 | } | 810 | } |
diff --git a/drivers/net/wireless/marvell/mwifiex/cmdevt.c b/drivers/net/wireless/marvell/mwifiex/cmdevt.c index 6bc2011d8609..e7a21443647e 100644 --- a/drivers/net/wireless/marvell/mwifiex/cmdevt.c +++ b/drivers/net/wireless/marvell/mwifiex/cmdevt.c | |||
| @@ -1057,8 +1057,12 @@ mwifiex_cancel_all_pending_cmd(struct mwifiex_adapter *adapter) | |||
| 1057 | if (!priv) | 1057 | if (!priv) |
| 1058 | continue; | 1058 | continue; |
| 1059 | if (priv->scan_request) { | 1059 | if (priv->scan_request) { |
| 1060 | struct cfg80211_scan_info info = { | ||
| 1061 | .aborted = true, | ||
| 1062 | }; | ||
| 1063 | |||
| 1060 | mwifiex_dbg(adapter, WARN, "info: aborting scan\n"); | 1064 | mwifiex_dbg(adapter, WARN, "info: aborting scan\n"); |
| 1061 | cfg80211_scan_done(priv->scan_request, 1); | 1065 | cfg80211_scan_done(priv->scan_request, &info); |
| 1062 | priv->scan_request = NULL; | 1066 | priv->scan_request = NULL; |
| 1063 | } | 1067 | } |
| 1064 | } | 1068 | } |
| @@ -1112,8 +1116,12 @@ mwifiex_cancel_pending_ioctl(struct mwifiex_adapter *adapter) | |||
| 1112 | if (!priv) | 1116 | if (!priv) |
| 1113 | continue; | 1117 | continue; |
| 1114 | if (priv->scan_request) { | 1118 | if (priv->scan_request) { |
| 1119 | struct cfg80211_scan_info info = { | ||
| 1120 | .aborted = true, | ||
| 1121 | }; | ||
| 1122 | |||
| 1115 | mwifiex_dbg(adapter, WARN, "info: aborting scan\n"); | 1123 | mwifiex_dbg(adapter, WARN, "info: aborting scan\n"); |
| 1116 | cfg80211_scan_done(priv->scan_request, 1); | 1124 | cfg80211_scan_done(priv->scan_request, &info); |
| 1117 | priv->scan_request = NULL; | 1125 | priv->scan_request = NULL; |
| 1118 | } | 1126 | } |
| 1119 | } | 1127 | } |
diff --git a/drivers/net/wireless/marvell/mwifiex/main.c b/drivers/net/wireless/marvell/mwifiex/main.c index 0e280f879b58..db4925db39aa 100644 --- a/drivers/net/wireless/marvell/mwifiex/main.c +++ b/drivers/net/wireless/marvell/mwifiex/main.c | |||
| @@ -697,9 +697,13 @@ mwifiex_close(struct net_device *dev) | |||
| 697 | struct mwifiex_private *priv = mwifiex_netdev_get_priv(dev); | 697 | struct mwifiex_private *priv = mwifiex_netdev_get_priv(dev); |
| 698 | 698 | ||
| 699 | if (priv->scan_request) { | 699 | if (priv->scan_request) { |
| 700 | struct cfg80211_scan_info info = { | ||
| 701 | .aborted = true, | ||
| 702 | }; | ||
| 703 | |||
| 700 | mwifiex_dbg(priv->adapter, INFO, | 704 | mwifiex_dbg(priv->adapter, INFO, |
| 701 | "aborting scan on ndo_stop\n"); | 705 | "aborting scan on ndo_stop\n"); |
| 702 | cfg80211_scan_done(priv->scan_request, 1); | 706 | cfg80211_scan_done(priv->scan_request, &info); |
| 703 | priv->scan_request = NULL; | 707 | priv->scan_request = NULL; |
| 704 | priv->scan_aborting = true; | 708 | priv->scan_aborting = true; |
| 705 | } | 709 | } |
diff --git a/drivers/net/wireless/marvell/mwifiex/scan.c b/drivers/net/wireless/marvell/mwifiex/scan.c index bc5e52cebce1..fdd749110fcb 100644 --- a/drivers/net/wireless/marvell/mwifiex/scan.c +++ b/drivers/net/wireless/marvell/mwifiex/scan.c | |||
| @@ -1956,9 +1956,13 @@ static void mwifiex_check_next_scan_command(struct mwifiex_private *priv) | |||
| 1956 | mwifiex_complete_scan(priv); | 1956 | mwifiex_complete_scan(priv); |
| 1957 | 1957 | ||
| 1958 | if (priv->scan_request) { | 1958 | if (priv->scan_request) { |
| 1959 | struct cfg80211_scan_info info = { | ||
| 1960 | .aborted = false, | ||
| 1961 | }; | ||
| 1962 | |||
| 1959 | mwifiex_dbg(adapter, INFO, | 1963 | mwifiex_dbg(adapter, INFO, |
| 1960 | "info: notifying scan done\n"); | 1964 | "info: notifying scan done\n"); |
| 1961 | cfg80211_scan_done(priv->scan_request, 0); | 1965 | cfg80211_scan_done(priv->scan_request, &info); |
| 1962 | priv->scan_request = NULL; | 1966 | priv->scan_request = NULL; |
| 1963 | } else { | 1967 | } else { |
| 1964 | priv->scan_aborting = false; | 1968 | priv->scan_aborting = false; |
| @@ -1977,9 +1981,13 @@ static void mwifiex_check_next_scan_command(struct mwifiex_private *priv) | |||
| 1977 | 1981 | ||
| 1978 | if (!adapter->active_scan_triggered) { | 1982 | if (!adapter->active_scan_triggered) { |
| 1979 | if (priv->scan_request) { | 1983 | if (priv->scan_request) { |
| 1984 | struct cfg80211_scan_info info = { | ||
| 1985 | .aborted = true, | ||
| 1986 | }; | ||
| 1987 | |||
| 1980 | mwifiex_dbg(adapter, INFO, | 1988 | mwifiex_dbg(adapter, INFO, |
| 1981 | "info: aborting scan\n"); | 1989 | "info: aborting scan\n"); |
| 1982 | cfg80211_scan_done(priv->scan_request, 1); | 1990 | cfg80211_scan_done(priv->scan_request, &info); |
| 1983 | priv->scan_request = NULL; | 1991 | priv->scan_request = NULL; |
| 1984 | } else { | 1992 | } else { |
| 1985 | priv->scan_aborting = false; | 1993 | priv->scan_aborting = false; |
diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c index 569918c485b4..603c90470225 100644 --- a/drivers/net/wireless/rndis_wlan.c +++ b/drivers/net/wireless/rndis_wlan.c | |||
| @@ -2134,6 +2134,7 @@ static void rndis_get_scan_results(struct work_struct *work) | |||
| 2134 | struct rndis_wlan_private *priv = | 2134 | struct rndis_wlan_private *priv = |
| 2135 | container_of(work, struct rndis_wlan_private, scan_work.work); | 2135 | container_of(work, struct rndis_wlan_private, scan_work.work); |
| 2136 | struct usbnet *usbdev = priv->usbdev; | 2136 | struct usbnet *usbdev = priv->usbdev; |
| 2137 | struct cfg80211_scan_info info = {}; | ||
| 2137 | int ret; | 2138 | int ret; |
| 2138 | 2139 | ||
| 2139 | netdev_dbg(usbdev->net, "get_scan_results\n"); | 2140 | netdev_dbg(usbdev->net, "get_scan_results\n"); |
| @@ -2143,7 +2144,8 @@ static void rndis_get_scan_results(struct work_struct *work) | |||
| 2143 | 2144 | ||
| 2144 | ret = rndis_check_bssid_list(usbdev, NULL, NULL); | 2145 | ret = rndis_check_bssid_list(usbdev, NULL, NULL); |
| 2145 | 2146 | ||
| 2146 | cfg80211_scan_done(priv->scan_request, ret < 0); | 2147 | info.aborted = ret < 0; |
| 2148 | cfg80211_scan_done(priv->scan_request, &info); | ||
| 2147 | 2149 | ||
| 2148 | priv->scan_request = NULL; | 2150 | priv->scan_request = NULL; |
| 2149 | } | 2151 | } |
| @@ -3574,7 +3576,11 @@ static int rndis_wlan_stop(struct usbnet *usbdev) | |||
| 3574 | flush_workqueue(priv->workqueue); | 3576 | flush_workqueue(priv->workqueue); |
| 3575 | 3577 | ||
| 3576 | if (priv->scan_request) { | 3578 | if (priv->scan_request) { |
| 3577 | cfg80211_scan_done(priv->scan_request, true); | 3579 | struct cfg80211_scan_info info = { |
| 3580 | .aborted = true, | ||
| 3581 | }; | ||
| 3582 | |||
| 3583 | cfg80211_scan_done(priv->scan_request, &info); | ||
| 3578 | priv->scan_request = NULL; | 3584 | priv->scan_request = NULL; |
| 3579 | } | 3585 | } |
| 3580 | 3586 | ||
diff --git a/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c index 0da559d929bc..d0ba3778990e 100644 --- a/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c +++ b/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c | |||
| @@ -1256,10 +1256,15 @@ void rtw_cfg80211_indicate_scan_done(struct rtw_wdev_priv *pwdev_priv, | |||
| 1256 | DBG_8723A("%s with scan req\n", __func__); | 1256 | DBG_8723A("%s with scan req\n", __func__); |
| 1257 | 1257 | ||
| 1258 | if (pwdev_priv->scan_request->wiphy != | 1258 | if (pwdev_priv->scan_request->wiphy != |
| 1259 | pwdev_priv->rtw_wdev->wiphy) | 1259 | pwdev_priv->rtw_wdev->wiphy) { |
| 1260 | DBG_8723A("error wiphy compare\n"); | 1260 | DBG_8723A("error wiphy compare\n"); |
| 1261 | else | 1261 | } else { |
| 1262 | cfg80211_scan_done(pwdev_priv->scan_request, aborted); | 1262 | struct cfg80211_scan_info info = { |
| 1263 | .aborted = aborted, | ||
| 1264 | }; | ||
| 1265 | |||
| 1266 | cfg80211_scan_done(pwdev_priv->scan_request, &info); | ||
| 1267 | } | ||
| 1263 | 1268 | ||
| 1264 | pwdev_priv->scan_request = NULL; | 1269 | pwdev_priv->scan_request = NULL; |
| 1265 | } else { | 1270 | } else { |
diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c index 51aff4ff7d7c..a0d8e22e575b 100644 --- a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c +++ b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c | |||
| @@ -454,7 +454,11 @@ static void CfgScanResult(enum scan_event scan_event, | |||
| 454 | mutex_lock(&priv->scan_req_lock); | 454 | mutex_lock(&priv->scan_req_lock); |
| 455 | 455 | ||
| 456 | if (priv->pstrScanReq) { | 456 | if (priv->pstrScanReq) { |
| 457 | cfg80211_scan_done(priv->pstrScanReq, false); | 457 | struct cfg80211_scan_info info = { |
| 458 | .aborted = false, | ||
| 459 | }; | ||
| 460 | |||
| 461 | cfg80211_scan_done(priv->pstrScanReq, &info); | ||
| 458 | priv->u32RcvdChCount = 0; | 462 | priv->u32RcvdChCount = 0; |
| 459 | priv->bCfgScanning = false; | 463 | priv->bCfgScanning = false; |
| 460 | priv->pstrScanReq = NULL; | 464 | priv->pstrScanReq = NULL; |
| @@ -464,10 +468,14 @@ static void CfgScanResult(enum scan_event scan_event, | |||
| 464 | mutex_lock(&priv->scan_req_lock); | 468 | mutex_lock(&priv->scan_req_lock); |
| 465 | 469 | ||
| 466 | if (priv->pstrScanReq) { | 470 | if (priv->pstrScanReq) { |
| 471 | struct cfg80211_scan_info info = { | ||
| 472 | .aborted = false, | ||
| 473 | }; | ||
| 474 | |||
| 467 | update_scan_time(); | 475 | update_scan_time(); |
| 468 | refresh_scan(priv, 1, false); | 476 | refresh_scan(priv, 1, false); |
| 469 | 477 | ||
| 470 | cfg80211_scan_done(priv->pstrScanReq, false); | 478 | cfg80211_scan_done(priv->pstrScanReq, &info); |
| 471 | priv->bCfgScanning = false; | 479 | priv->bCfgScanning = false; |
| 472 | priv->pstrScanReq = NULL; | 480 | priv->pstrScanReq = NULL; |
| 473 | } | 481 | } |
diff --git a/drivers/staging/wlan-ng/cfg80211.c b/drivers/staging/wlan-ng/cfg80211.c index a6e6fb9f42e1..f46dfe6b24e8 100644 --- a/drivers/staging/wlan-ng/cfg80211.c +++ b/drivers/staging/wlan-ng/cfg80211.c | |||
| @@ -338,6 +338,8 @@ static int prism2_scan(struct wiphy *wiphy, | |||
| 338 | struct p80211msg_dot11req_scan msg1; | 338 | struct p80211msg_dot11req_scan msg1; |
| 339 | struct p80211msg_dot11req_scan_results msg2; | 339 | struct p80211msg_dot11req_scan_results msg2; |
| 340 | struct cfg80211_bss *bss; | 340 | struct cfg80211_bss *bss; |
| 341 | struct cfg80211_scan_info info = {}; | ||
| 342 | |||
| 341 | int result; | 343 | int result; |
| 342 | int err = 0; | 344 | int err = 0; |
| 343 | int numbss = 0; | 345 | int numbss = 0; |
| @@ -440,7 +442,8 @@ static int prism2_scan(struct wiphy *wiphy, | |||
| 440 | err = prism2_result2err(msg2.resultcode.data); | 442 | err = prism2_result2err(msg2.resultcode.data); |
| 441 | 443 | ||
| 442 | exit: | 444 | exit: |
| 443 | cfg80211_scan_done(request, err ? 1 : 0); | 445 | info.aborted = !!(err); |
| 446 | cfg80211_scan_done(request, &info); | ||
| 444 | priv->scan_request = NULL; | 447 | priv->scan_request = NULL; |
| 445 | return err; | 448 | return err; |
| 446 | } | 449 | } |
