diff options
Diffstat (limited to 'net/wireless/scan.c')
-rw-r--r-- | net/wireless/scan.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/net/wireless/scan.c b/net/wireless/scan.c index 65dfae3b9d41..73a441d237b5 100644 --- a/net/wireless/scan.c +++ b/net/wireless/scan.c | |||
@@ -119,22 +119,14 @@ void cfg80211_sched_scan_results(struct wiphy *wiphy) | |||
119 | } | 119 | } |
120 | EXPORT_SYMBOL(cfg80211_sched_scan_results); | 120 | EXPORT_SYMBOL(cfg80211_sched_scan_results); |
121 | 121 | ||
122 | void __cfg80211_sched_scan_stopped(struct work_struct *wk) | 122 | void cfg80211_sched_scan_stopped(struct wiphy *wiphy) |
123 | { | 123 | { |
124 | struct cfg80211_registered_device *rdev; | 124 | struct cfg80211_registered_device *rdev = wiphy_to_dev(wiphy); |
125 | |||
126 | rdev = container_of(wk, struct cfg80211_registered_device, | ||
127 | sched_scan_stopped_wk); | ||
128 | 125 | ||
129 | cfg80211_lock_rdev(rdev); | 126 | cfg80211_lock_rdev(rdev); |
130 | __cfg80211_stop_sched_scan(rdev, true); | 127 | __cfg80211_stop_sched_scan(rdev, true); |
131 | cfg80211_unlock_rdev(rdev); | 128 | cfg80211_unlock_rdev(rdev); |
132 | } | 129 | } |
133 | |||
134 | void cfg80211_sched_scan_stopped(struct wiphy *wiphy) | ||
135 | { | ||
136 | queue_work(cfg80211_wq, &wiphy_to_dev(wiphy)->sched_scan_stopped_wk); | ||
137 | } | ||
138 | EXPORT_SYMBOL(cfg80211_sched_scan_stopped); | 130 | EXPORT_SYMBOL(cfg80211_sched_scan_stopped); |
139 | 131 | ||
140 | int __cfg80211_stop_sched_scan(struct cfg80211_registered_device *rdev, | 132 | int __cfg80211_stop_sched_scan(struct cfg80211_registered_device *rdev, |
@@ -150,10 +142,11 @@ int __cfg80211_stop_sched_scan(struct cfg80211_registered_device *rdev, | |||
150 | 142 | ||
151 | dev = rdev->sched_scan_req->dev; | 143 | dev = rdev->sched_scan_req->dev; |
152 | 144 | ||
153 | err = rdev->ops->sched_scan_stop(&rdev->wiphy, dev, | 145 | if (!driver_initiated) { |
154 | driver_initiated); | 146 | err = rdev->ops->sched_scan_stop(&rdev->wiphy, dev); |
155 | if (err) | 147 | if (err) |
156 | return err; | 148 | return err; |
149 | } | ||
157 | 150 | ||
158 | nl80211_send_sched_scan(rdev, dev, NL80211_CMD_SCHED_SCAN_STOPPED); | 151 | nl80211_send_sched_scan(rdev, dev, NL80211_CMD_SCHED_SCAN_STOPPED); |
159 | 152 | ||