mirror of
https://github.com/torvalds/linux.git
synced 2024-11-17 09:31:50 +00:00
[PATCH] ipw2200: do not sleep in ipw_request_direct_scan
Drivers should not sleep for very long inside an ioctl - so return EAGAIN and let wpa_supplicant handle the problem. Signed-off-by: Olaf Kirch <okir@suse.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
0b8d3256a0
commit
d834a41c96
@ -8936,14 +8936,12 @@ static int ipw_request_direct_scan(struct ipw_priv *priv, char *essid,
|
||||
IPW_DEBUG_HC("starting request direct scan!\n");
|
||||
|
||||
if (priv->status & (STATUS_SCANNING | STATUS_SCAN_ABORTING)) {
|
||||
err = wait_event_interruptible(priv->wait_state,
|
||||
!(priv->
|
||||
status & (STATUS_SCANNING |
|
||||
STATUS_SCAN_ABORTING)));
|
||||
if (err) {
|
||||
IPW_DEBUG_HC("aborting direct scan");
|
||||
goto done;
|
||||
}
|
||||
/* We should not sleep here; otherwise we will block most
|
||||
* of the system (for instance, we hold rtnl_lock when we
|
||||
* get here).
|
||||
*/
|
||||
err = -EAGAIN;
|
||||
goto done;
|
||||
}
|
||||
memset(&scan, 0, sizeof(scan));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user