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>

authored by Amitkumar Karwar and committed by John W. Linville b015dbc0 09009512

Changed files
+6 -1
drivers
net
wireless
mwifiex
+6 -1
drivers/net/wireless/mwifiex/sta_ioctl.c
··· 55 55 { 56 56 bool cancel_flag = false; 57 57 int status = adapter->cmd_wait_q.status; 58 - struct cmd_ctrl_node *cmd_queued = adapter->cmd_queued; 58 + struct cmd_ctrl_node *cmd_queued; 59 59 60 + if (!adapter->cmd_queued) 61 + return 0; 62 + 63 + cmd_queued = adapter->cmd_queued; 60 64 adapter->cmd_queued = NULL; 65 + 61 66 dev_dbg(adapter->dev, "cmd pending\n"); 62 67 atomic_inc(&adapter->cmd_pending); 63 68