|
@@ -3321,10 +3321,6 @@ static int ieee80211_probe_auth(struct ieee80211_sub_if_data *sdata)
|
|
|
if (WARN_ON_ONCE(!auth_data))
|
|
|
return -EINVAL;
|
|
|
|
|
|
- if (local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS)
|
|
|
- tx_flags = IEEE80211_TX_CTL_REQ_TX_STATUS |
|
|
|
- IEEE80211_TX_INTFL_MLME_CONN_TX;
|
|
|
-
|
|
|
auth_data->tries++;
|
|
|
|
|
|
if (auth_data->tries > IEEE80211_AUTH_MAX_TRIES) {
|
|
@@ -3358,6 +3354,10 @@ static int ieee80211_probe_auth(struct ieee80211_sub_if_data *sdata)
|
|
|
auth_data->expected_transaction = trans;
|
|
|
}
|
|
|
|
|
|
+ if (local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS)
|
|
|
+ tx_flags = IEEE80211_TX_CTL_REQ_TX_STATUS |
|
|
|
+ IEEE80211_TX_INTFL_MLME_CONN_TX;
|
|
|
+
|
|
|
ieee80211_send_auth(sdata, trans, auth_data->algorithm, status,
|
|
|
auth_data->data, auth_data->data_len,
|
|
|
auth_data->bss->bssid,
|
|
@@ -3381,12 +3381,12 @@ static int ieee80211_probe_auth(struct ieee80211_sub_if_data *sdata)
|
|
|
* will not answer to direct packet in unassociated state.
|
|
|
*/
|
|
|
ieee80211_send_probe_req(sdata, NULL, ssidie + 2, ssidie[1],
|
|
|
- NULL, 0, (u32) -1, true, tx_flags,
|
|
|
+ NULL, 0, (u32) -1, true, 0,
|
|
|
auth_data->bss->channel, false);
|
|
|
rcu_read_unlock();
|
|
|
}
|
|
|
|
|
|
- if (!(local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS)) {
|
|
|
+ if (tx_flags == 0) {
|
|
|
auth_data->timeout = jiffies + IEEE80211_AUTH_TIMEOUT;
|
|
|
ifmgd->auth_data->timeout_started = true;
|
|
|
run_again(ifmgd, auth_data->timeout);
|