mac80211: remove tx_sync
When the station state callback was added, this was no longer needed in theory. With the iwlwifi changes to remove use of it landing, we can kill the entire tx-sync framework again, RIP. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

parent
3789d59c24
commit
177958e967
@@ -168,41 +168,6 @@ static inline void drv_bss_info_changed(struct ieee80211_local *local,
|
||||
trace_drv_return_void(local);
|
||||
}
|
||||
|
||||
static inline int drv_tx_sync(struct ieee80211_local *local,
|
||||
struct ieee80211_sub_if_data *sdata,
|
||||
const u8 *bssid,
|
||||
enum ieee80211_tx_sync_type type)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
might_sleep();
|
||||
|
||||
check_sdata_in_driver(sdata);
|
||||
|
||||
trace_drv_tx_sync(local, sdata, bssid, type);
|
||||
if (local->ops->tx_sync)
|
||||
ret = local->ops->tx_sync(&local->hw, &sdata->vif,
|
||||
bssid, type);
|
||||
trace_drv_return_int(local, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline void drv_finish_tx_sync(struct ieee80211_local *local,
|
||||
struct ieee80211_sub_if_data *sdata,
|
||||
const u8 *bssid,
|
||||
enum ieee80211_tx_sync_type type)
|
||||
{
|
||||
might_sleep();
|
||||
|
||||
check_sdata_in_driver(sdata);
|
||||
|
||||
trace_drv_finish_tx_sync(local, sdata, bssid, type);
|
||||
if (local->ops->finish_tx_sync)
|
||||
local->ops->finish_tx_sync(&local->hw, &sdata->vif,
|
||||
bssid, type);
|
||||
trace_drv_return_void(local);
|
||||
}
|
||||
|
||||
static inline u64 drv_prepare_multicast(struct ieee80211_local *local,
|
||||
struct netdev_hw_addr_list *mc_list)
|
||||
{
|
||||
|
@@ -308,49 +308,6 @@ TRACE_EVENT(drv_bss_info_changed,
|
||||
)
|
||||
);
|
||||
|
||||
DECLARE_EVENT_CLASS(tx_sync_evt,
|
||||
TP_PROTO(struct ieee80211_local *local,
|
||||
struct ieee80211_sub_if_data *sdata,
|
||||
const u8 *bssid,
|
||||
enum ieee80211_tx_sync_type type),
|
||||
TP_ARGS(local, sdata, bssid, type),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
LOCAL_ENTRY
|
||||
VIF_ENTRY
|
||||
__array(char, bssid, ETH_ALEN)
|
||||
__field(u32, sync_type)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
LOCAL_ASSIGN;
|
||||
VIF_ASSIGN;
|
||||
memcpy(__entry->bssid, bssid, ETH_ALEN);
|
||||
__entry->sync_type = type;
|
||||
),
|
||||
|
||||
TP_printk(
|
||||
LOCAL_PR_FMT VIF_PR_FMT " bssid:%pM type:%d",
|
||||
LOCAL_PR_ARG, VIF_PR_ARG, __entry->bssid, __entry->sync_type
|
||||
)
|
||||
);
|
||||
|
||||
DEFINE_EVENT(tx_sync_evt, drv_tx_sync,
|
||||
TP_PROTO(struct ieee80211_local *local,
|
||||
struct ieee80211_sub_if_data *sdata,
|
||||
const u8 *bssid,
|
||||
enum ieee80211_tx_sync_type type),
|
||||
TP_ARGS(local, sdata, bssid, type)
|
||||
);
|
||||
|
||||
DEFINE_EVENT(tx_sync_evt, drv_finish_tx_sync,
|
||||
TP_PROTO(struct ieee80211_local *local,
|
||||
struct ieee80211_sub_if_data *sdata,
|
||||
const u8 *bssid,
|
||||
enum ieee80211_tx_sync_type type),
|
||||
TP_ARGS(local, sdata, bssid, type)
|
||||
);
|
||||
|
||||
TRACE_EVENT(drv_prepare_multicast,
|
||||
TP_PROTO(struct ieee80211_local *local, int mc_count),
|
||||
|
||||
|
@@ -388,7 +388,6 @@ struct ieee80211_mgd_auth_data {
|
||||
|
||||
u8 key[WLAN_KEY_LEN_WEP104];
|
||||
u8 key_len, key_idx;
|
||||
bool synced;
|
||||
bool done;
|
||||
|
||||
size_t ie_len;
|
||||
|
@@ -1770,11 +1770,6 @@ static void ieee80211_destroy_auth_data(struct ieee80211_sub_if_data *sdata,
|
||||
|
||||
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);
|
||||
|
||||
@@ -1862,10 +1857,6 @@ ieee80211_rx_mgmt_auth(struct ieee80211_sub_if_data *sdata,
|
||||
|
||||
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);
|
||||
@@ -2005,11 +1996,6 @@ static void ieee80211_destroy_assoc_data(struct ieee80211_sub_if_data *sdata,
|
||||
|
||||
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);
|
||||
|
||||
@@ -2255,14 +2241,6 @@ ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata,
|
||||
} 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);
|
||||
@@ -2747,14 +2725,6 @@ static int ieee80211_probe_auth(struct ieee80211_sub_if_data *sdata)
|
||||
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) {
|
||||
@@ -2811,14 +2781,6 @@ static int ieee80211_do_assoc(struct ieee80211_sub_if_data *sdata)
|
||||
|
||||
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",
|
||||
@@ -3245,9 +3207,6 @@ int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata,
|
||||
|
||||
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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user