summaryrefslogtreecommitdiff
path: root/drivers/staging/cw1200/sta.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/cw1200/sta.c')
-rw-r--r--drivers/staging/cw1200/sta.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/staging/cw1200/sta.c b/drivers/staging/cw1200/sta.c
index 86a05dcaca2..8c813282021 100644
--- a/drivers/staging/cw1200/sta.c
+++ b/drivers/staging/cw1200/sta.c
@@ -1064,6 +1064,13 @@ void cw1200_unjoin_work(struct work_struct *work)
};
mutex_lock(&priv->conf_mutex);
+ if (unlikely(atomic_read(&priv->scan.in_progress))) {
+ BUG_ON(priv->delayed_unjoin);
+ priv->delayed_unjoin = true;
+ mutex_unlock(&priv->conf_mutex);
+ return;
+ }
+
BUG_ON(priv->join_status &&
priv->join_status != CW1200_JOIN_STATUS_STA);
if (priv->join_status == CW1200_JOIN_STATUS_STA) {