diff options
author | Avinash Patil <patila@marvell.com> | 2015-03-13 17:37:51 +0530 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2015-03-16 18:12:15 +0200 |
commit | a9adbcb3355c31faf4274932f513f19225b61747 (patch) | |
tree | 5af7a74ee04a3c42f5782d611e52b1b91c41c24f /drivers/net/wireless/mwifiex/main.h | |
parent | a3fa71c40f1853d0c27e8f5bc01a722a705d9682 (diff) | |
download | talos-op-linux-a9adbcb3355c31faf4274932f513f19225b61747.tar.gz talos-op-linux-a9adbcb3355c31faf4274932f513f19225b61747.zip |
mwifiex: lock main process till reinitialization of vif is over
A crash was detected while changing virtual interface type is in
progress. This was tracked to race condition in accessing bss_priority
table while change is in progress. This patch ensures that main_process
and rx_process works are locked while we change virtual interface.
Signed-off-by: Cathy Luo <cluo@marvell.com>
Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/mwifiex/main.h')
-rw-r--r-- | drivers/net/wireless/mwifiex/main.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/mwifiex/main.h b/drivers/net/wireless/mwifiex/main.h index a0908c64103a..04ef618de23c 100644 --- a/drivers/net/wireless/mwifiex/main.h +++ b/drivers/net/wireless/mwifiex/main.h @@ -772,6 +772,7 @@ struct mwifiex_adapter { bool rx_processing; bool delay_main_work; bool rx_locked; + bool main_locked; struct mwifiex_bss_prio_tbl bss_prio_tbl[MWIFIEX_MAX_BSS_NUM]; /* spin lock for init/shutdown */ spinlock_t mwifiex_lock; |