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