mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-06 19:07:52 +00:00
mwifiex: fix crash during simultaneous scan and connect
If 'iw connect' command is fired when driver is already busy in serving 'iw scan' command, ssid specific scan operation for connect is skipped. In this case cmd wait queue handler gets called with no command in queue (i.e. adapter->cmd_queued = NULL). This patch adds a NULL check in mwifiex_wait_queue_complete() routine to fix crash observed during simultaneous scan and assoc operations. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
09009512e5
commit
b015dbc0f9
1 changed files with 6 additions and 1 deletions
|
@ -55,9 +55,14 @@ int mwifiex_wait_queue_complete(struct mwifiex_adapter *adapter)
|
||||||
{
|
{
|
||||||
bool cancel_flag = false;
|
bool cancel_flag = false;
|
||||||
int status = adapter->cmd_wait_q.status;
|
int status = adapter->cmd_wait_q.status;
|
||||||
struct cmd_ctrl_node *cmd_queued = adapter->cmd_queued;
|
struct cmd_ctrl_node *cmd_queued;
|
||||||
|
|
||||||
|
if (!adapter->cmd_queued)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
cmd_queued = adapter->cmd_queued;
|
||||||
adapter->cmd_queued = NULL;
|
adapter->cmd_queued = NULL;
|
||||||
|
|
||||||
dev_dbg(adapter->dev, "cmd pending\n");
|
dev_dbg(adapter->dev, "cmd pending\n");
|
||||||
atomic_inc(&adapter->cmd_pending);
|
atomic_inc(&adapter->cmd_pending);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue