mirror of
https://github.com/adulau/aha.git
synced 2024-12-31 21:26:18 +00:00
[PATCH] softmac: return -EAGAIN from getscan while scanning
Below patch was developed after discussion with Daniel Drake who mentioned to me that wireless tools expect an EAGAIN return from getscan so that they can wait for the scan to finish before printing out the results. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
b79367a5ea
commit
ba2f8c1875
1 changed files with 10 additions and 0 deletions
|
@ -41,13 +41,23 @@ ieee80211softmac_wx_trigger_scan(struct net_device *net_dev,
|
|||
EXPORT_SYMBOL_GPL(ieee80211softmac_wx_trigger_scan);
|
||||
|
||||
|
||||
/* if we're still scanning, return -EAGAIN so that userspace tools
|
||||
* can get the complete scan results, otherwise return 0. */
|
||||
int
|
||||
ieee80211softmac_wx_get_scan_results(struct net_device *net_dev,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *data,
|
||||
char *extra)
|
||||
{
|
||||
unsigned long flags;
|
||||
struct ieee80211softmac_device *sm = ieee80211_priv(net_dev);
|
||||
|
||||
spin_lock_irqsave(&sm->lock, flags);
|
||||
if (sm->scanning) {
|
||||
spin_unlock_irqrestore(&sm->lock, flags);
|
||||
return -EAGAIN;
|
||||
}
|
||||
spin_unlock_irqrestore(&sm->lock, flags);
|
||||
return ieee80211_wx_get_scan(sm->ieee, info, data, extra);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ieee80211softmac_wx_get_scan_results);
|
||||
|
|
Loading…
Reference in a new issue