summaryrefslogtreecommitdiff
path: root/drivers/staging/cw1200/wsm.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/cw1200/wsm.c')
-rw-r--r--drivers/staging/cw1200/wsm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/staging/cw1200/wsm.c b/drivers/staging/cw1200/wsm.c
index 59f40666d69..1fe5e32a27a 100644
--- a/drivers/staging/cw1200/wsm.c
+++ b/drivers/staging/cw1200/wsm.c
@@ -1255,7 +1255,8 @@ static bool wsm_handle_tx_data(struct cw1200_common *priv,
switch (priv->mode) {
case NL80211_IFTYPE_STATION:
- if (unlikely(!priv->join_status ||
+ if (unlikely(
+ (priv->join_status <= CW1200_JOIN_STATUS_MONITOR) ||
memcmp(frame->addr1, priv->join_bssid,
sizeof(priv->join_bssid)))) {
if (ieee80211_is_auth(fctl))
@@ -1264,7 +1265,7 @@ static bool wsm_handle_tx_data(struct cw1200_common *priv,
action = doTx;
else if (ieee80211_is_action(fctl) ||
ieee80211_is_probe_resp(fctl)) {
- if (priv->join_status)
+ if (priv->join_status > CW1200_JOIN_STATUS_MONITOR)
action = doTx;
else
action = doJoin;