Commit d834a41c authored by Olaf Kirch's avatar Olaf Kirch Committed by John W. Linville

[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: default avatarOlaf Kirch <okir@suse.de>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 0b8d3256
...@@ -8936,14 +8936,12 @@ static int ipw_request_direct_scan(struct ipw_priv *priv, char *essid, ...@@ -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));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment