|
@@ -890,9 +890,6 @@ mwifiex_cmd_timeout_func(unsigned long function_context)
|
|
|
return;
|
|
|
}
|
|
|
cmd_node = adapter->curr_cmd;
|
|
|
- if (cmd_node->wait_q_enabled)
|
|
|
- adapter->cmd_wait_q.status = -ETIMEDOUT;
|
|
|
-
|
|
|
if (cmd_node) {
|
|
|
adapter->dbg.timeout_cmd_id =
|
|
|
adapter->dbg.last_cmd_id[adapter->dbg.last_cmd_index];
|
|
@@ -938,6 +935,14 @@ mwifiex_cmd_timeout_func(unsigned long function_context)
|
|
|
|
|
|
dev_err(adapter->dev, "ps_mode=%d ps_state=%d\n",
|
|
|
adapter->ps_mode, adapter->ps_state);
|
|
|
+
|
|
|
+ if (cmd_node->wait_q_enabled) {
|
|
|
+ adapter->cmd_wait_q.status = -ETIMEDOUT;
|
|
|
+ wake_up_interruptible(&adapter->cmd_wait_q.wait);
|
|
|
+ mwifiex_cancel_pending_ioctl(adapter);
|
|
|
+ /* reset cmd_sent flag to unblock new commands */
|
|
|
+ adapter->cmd_sent = false;
|
|
|
+ }
|
|
|
}
|
|
|
if (adapter->hw_status == MWIFIEX_HW_STATUS_INITIALIZING)
|
|
|
mwifiex_init_fw_complete(adapter);
|