lockdep_assert_held(&sdata->u.mgd.mtx);
- if (auth_data->synced)
- drv_finish_tx_sync(sdata->local, sdata,
- auth_data->bss->bssid,
- IEEE80211_TX_SYNC_AUTH);
-
if (!assoc) {
sta_info_destroy_addr(sdata, auth_data->bss->bssid);
printk(KERN_DEBUG "%s: authenticated\n", sdata->name);
out:
- if (ifmgd->auth_data->synced)
- drv_finish_tx_sync(sdata->local, sdata, bssid,
- IEEE80211_TX_SYNC_AUTH);
- ifmgd->auth_data->synced = false;
ifmgd->auth_data->done = true;
ifmgd->auth_data->timeout = jiffies + IEEE80211_AUTH_WAIT_ASSOC;
run_again(ifmgd, ifmgd->auth_data->timeout);
lockdep_assert_held(&sdata->u.mgd.mtx);
- if (assoc_data->synced)
- drv_finish_tx_sync(sdata->local, sdata,
- assoc_data->bss->bssid,
- IEEE80211_TX_SYNC_ASSOC);
-
if (!assoc) {
sta_info_destroy_addr(sdata, assoc_data->bss->bssid);
} else {
printk(KERN_DEBUG "%s: associated\n", sdata->name);
- /* tell driver about sync done first */
- if (assoc_data->synced) {
- drv_finish_tx_sync(sdata->local, sdata,
- assoc_data->bss->bssid,
- IEEE80211_TX_SYNC_ASSOC);
- assoc_data->synced = false;
- }
-
if (!ieee80211_assoc_success(sdata, *bss, mgmt, len)) {
/* oops -- internal error -- send timeout for now */
ieee80211_destroy_assoc_data(sdata, true);
if (WARN_ON_ONCE(!auth_data))
return -EINVAL;
- if (!auth_data->synced) {
- int ret = drv_tx_sync(local, sdata, auth_data->bss->bssid,
- IEEE80211_TX_SYNC_AUTH);
- if (ret)
- return ret;
- }
- auth_data->synced = true;
-
auth_data->tries++;
if (auth_data->tries > IEEE80211_AUTH_MAX_TRIES) {
lockdep_assert_held(&sdata->u.mgd.mtx);
- if (!assoc_data->synced) {
- int ret = drv_tx_sync(local, sdata, assoc_data->bss->bssid,
- IEEE80211_TX_SYNC_ASSOC);
- if (ret)
- return ret;
- }
- assoc_data->synced = true;
-
assoc_data->tries++;
if (assoc_data->tries > IEEE80211_ASSOC_MAX_TRIES) {
printk(KERN_DEBUG "%s: association with %pM timed out\n",
err = ieee80211_probe_auth(sdata);
if (err) {
- if (auth_data->synced)
- drv_finish_tx_sync(local, sdata, req->bss->bssid,
- IEEE80211_TX_SYNC_AUTH);
sta_info_destroy_addr(sdata, req->bss->bssid);
goto err_clear;
}