[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:
Olaf Kirch
2006-01-09 17:00:37 +01:00
committed by John W. Linville
parent 0b8d3256a0
commit d834a41c96

View File

@@ -8936,14 +8936,12 @@ static int ipw_request_direct_scan(struct ipw_priv *priv, char *essid,
IPW_DEBUG_HC("starting request direct scan!\n"); IPW_DEBUG_HC("starting request direct scan!\n");
if (priv->status & (STATUS_SCANNING | STATUS_SCAN_ABORTING)) { if (priv->status & (STATUS_SCANNING | STATUS_SCAN_ABORTING)) {
err = wait_event_interruptible(priv->wait_state, /* We should not sleep here; otherwise we will block most
!(priv-> * of the system (for instance, we hold rtnl_lock when we
status & (STATUS_SCANNING | * get here).
STATUS_SCAN_ABORTING))); */
if (err) { err = -EAGAIN;
IPW_DEBUG_HC("aborting direct scan"); goto done;
goto done;
}
} }
memset(&scan, 0, sizeof(scan)); memset(&scan, 0, sizeof(scan));