diff options
Diffstat (limited to 'drivers/net/wireless/ipw2200.c')
-rw-r--r-- | drivers/net/wireless/ipw2200.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c index b0d195d1721a..5e7c7e944c9d 100644 --- a/drivers/net/wireless/ipw2200.c +++ b/drivers/net/wireless/ipw2200.c | |||
@@ -1110,8 +1110,7 @@ static struct ipw_fw_error *ipw_alloc_error_log(struct ipw_priv *priv) | |||
1110 | error->elem_len = elem_len; | 1110 | error->elem_len = elem_len; |
1111 | error->log_len = log_len; | 1111 | error->log_len = log_len; |
1112 | error->elem = (struct ipw_error_elem *)error->payload; | 1112 | error->elem = (struct ipw_error_elem *)error->payload; |
1113 | error->log = (struct ipw_event *)(error->elem + | 1113 | error->log = (struct ipw_event *)(error->elem + elem_len); |
1114 | (sizeof(*error->elem) * elem_len)); | ||
1115 | 1114 | ||
1116 | ipw_capture_event_log(priv, log_len, error->log); | 1115 | ipw_capture_event_log(priv, log_len, error->log); |
1117 | 1116 | ||
@@ -8926,6 +8925,10 @@ static int ipw_request_direct_scan(struct ipw_priv *priv, char *essid, | |||
8926 | struct ipw_scan_request_ext scan; | 8925 | struct ipw_scan_request_ext scan; |
8927 | int err = 0, scan_type; | 8926 | int err = 0, scan_type; |
8928 | 8927 | ||
8928 | if (!(priv->status & STATUS_INIT) || | ||
8929 | (priv->status & STATUS_EXIT_PENDING)) | ||
8930 | return 0; | ||
8931 | |||
8929 | down(&priv->sem); | 8932 | down(&priv->sem); |
8930 | 8933 | ||
8931 | if (priv->status & STATUS_RF_KILL_MASK) { | 8934 | if (priv->status & STATUS_RF_KILL_MASK) { |