diff options
author | Bing Zhao <bzhao@marvell.com> | 2014-02-27 22:35:12 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-02-28 14:33:40 -0500 |
commit | fa0ecbb9905d985a77e76801ba1153394ba593e8 (patch) | |
tree | 65b9a9e5fece3e020b82b14e4cf1479a0eec6372 /drivers/net/wireless/mwifiex/scan.c | |
parent | 6b7dce12b3e810a107735ab9e701f2be4e75db29 (diff) |
mwifiex: remove global variable cmd_wait_q_required
There is a race condition while queuing synchronous command and
asynchronous command requested from different threads, because
the wait_q_enabled flag is set based on a global variable
cmd_wait_q_required.
The issue is fixed by removing this global variable and using a
unified function with an argument 'sync' passed into the
function.
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/mwifiex/scan.c')
-rw-r--r-- | drivers/net/wireless/mwifiex/scan.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/mwifiex/scan.c b/drivers/net/wireless/mwifiex/scan.c index 92adbb1ebabc..0e8ca7bab3e7 100644 --- a/drivers/net/wireless/mwifiex/scan.c +++ b/drivers/net/wireless/mwifiex/scan.c | |||
@@ -738,8 +738,8 @@ mwifiex_scan_channel_list(struct mwifiex_private *priv, | |||
738 | else | 738 | else |
739 | cmd_no = HostCmd_CMD_802_11_SCAN; | 739 | cmd_no = HostCmd_CMD_802_11_SCAN; |
740 | 740 | ||
741 | ret = mwifiex_send_cmd_async(priv, cmd_no, HostCmd_ACT_GEN_SET, | 741 | ret = mwifiex_send_cmd(priv, cmd_no, HostCmd_ACT_GEN_SET, |
742 | 0, scan_cfg_out); | 742 | 0, scan_cfg_out, false); |
743 | 743 | ||
744 | /* rate IE is updated per scan command but same starting | 744 | /* rate IE is updated per scan command but same starting |
745 | * pointer is used each time so that rate IE from earlier | 745 | * pointer is used each time so that rate IE from earlier |