diff options
Diffstat (limited to 'drivers/staging/cw1200/sta.c')
-rw-r--r-- | drivers/staging/cw1200/sta.c | 7 |
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) { |