Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 19 files:

Smatch caller information:

net/mac80211/debugfs_sta.c sta_agg_status_do_write() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 0 pubsta 4096-ptr_max
PARAM_VALUE 1 tid 0-15
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 tid 0-15
NO_OVERFLOW_SIMPLE 1 tid
HALF_LOCKED2 &rdev->wiphy.mtx

drivers/net/wireless/marvell/mwl8k.c mwl8k_start_stream() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 0 pubsta 4096-ptr_max
PARAM_VALUE 0 pubsta->deflink.ht_cap.ht_supported 1
PARAM_VALUE 1 tid 0-7
PARAM_VALUE 2 timeout 0
BUF_SIZE 0 pubsta (-1)-0,600
BUF_SIZE 0 pubsta (-1)-0,600
CAPPED_DATA 1 tid 1
PREEMPT_ADD
TASK_NOT_RUNNING
UNITS 1 tid unit_array_size
LOCK2 &priv->stream_lock
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mwl8k_priv)->stream_lock

net/mac80211/tx.c ieee80211_aggr_check() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 0 pubsta 4096-ptr_max
PARAM_VALUE 0 pubsta->wme 1
PARAM_VALUE 1 tid 0-15
PARAM_VALUE 2 timeout 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 rcu_read

drivers/net/wireless/realtek/rtlwifi/rc.c rtl_tx_status() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 0 pubsta 4096-ptr_max
PARAM_VALUE 0 pubsta->deflink.ht_cap.ht_supported 1
PARAM_VALUE 0 pubsta->drv_priv 4096-ptr_max
PARAM_VALUE 0 pubsta->drv_priv->tids 4096-ptr_max
PARAM_VALUE 1 tid 0-15
PARAM_VALUE 2 timeout 5000
BUF_SIZE 0 pubsta (-1)-0,600
BUF_SIZE 0 pubsta (-1)-0,600
DATA_SOURCE 0 pubsta $2
DATA_SOURCE 1 tid r rtl_get_tid
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &sta->rate_ctrl_lock
LOCK2 bh
HALF_LOCKED2 &dev->mac_lock
HALF_LOCKED2 &dev->mt76.rx_lock
HALF_LOCKED2 &dev->rx_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct sta_info)->rate_ctrl_lock

drivers/net/wireless/intel/iwlwifi/dvm/rs.c rs_tl_turn_on_agg_for_tid() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 0 pubsta 4096-ptr_max
PARAM_VALUE 0 pubsta->deflink.supp_rates 4096-ptr_max
PARAM_VALUE 0 pubsta->drv_priv 4096-ptr_max
PARAM_VALUE 1 tid 0-7
PARAM_VALUE 2 timeout 5000
BUF_SIZE 0 pubsta (-1)-0,600
BUF_SIZE 0 pubsta (-1)-0,600
DATA_SOURCE 0 pubsta $3
DATA_SOURCE 1 tid $2
TASK_NOT_RUNNING
USER_DATA 1 tid 0-7[c]
LOCK2 &sta->rate_ctrl_lock
LOCK2 bh
HALF_LOCKED2 &dev->mac_lock
HALF_LOCKED2 &dev->mt76.rx_lock
HALF_LOCKED2 &dev->rx_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct sta_info)->rate_ctrl_lock

drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c mt76_connac2_tx_check_aggr() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 0 pubsta 4096-ptr_max
PARAM_VALUE 0 pubsta->drv_priv 4096-ptr_max
PARAM_VALUE 2 timeout 0
CAPPED_DATA 1 tid 1
DATA_SOURCE 0 pubsta $0
DATA_SOURCE 1 tid r le32_get_bits
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh

drivers/net/wireless/realtek/rtl8xxxu/core.c rtl8xxxu_tx() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 0 pubsta 4096-ptr_max
PARAM_VALUE 0 pubsta->deflink.ht_cap.ampdu_density 0-255
PARAM_VALUE 0 pubsta->deflink.ht_cap.ht_supported 1
PARAM_VALUE 0 pubsta->drv_priv 0,4096-ptr_max
PARAM_VALUE 1 tid 0-15
PARAM_VALUE 2 timeout 0
TASK_NOT_RUNNING
USER_DATA 1 tid 0-15[c]
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 rcu_read

drivers/net/wireless/intel/iwlegacy/4965-rs.c il4965_rs_tl_turn_on_agg_for_tid() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 0 pubsta 4096-ptr_max
PARAM_VALUE 0 pubsta->deflink.ht_cap.cap 16-u16max
PARAM_VALUE 0 pubsta->deflink.supp_rates 4096-ptr_max
PARAM_VALUE 1 tid 0-7
PARAM_VALUE 2 timeout 5000
BUF_SIZE 0 pubsta (-1)-0,600
BUF_SIZE 0 pubsta (-1)-0,600
DATA_SOURCE 0 pubsta $3
DATA_SOURCE 1 tid $2
TASK_NOT_RUNNING
USER_DATA 1 tid 0-7[c]
LOCK2 &sta->rate_ctrl_lock
LOCK2 bh
HALF_LOCKED2 &dev->mac_lock
HALF_LOCKED2 &dev->mt76.rx_lock
HALF_LOCKED2 &dev->rx_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct sta_info)->rate_ctrl_lock

drivers/net/wireless/ath/wcn36xx/txrx.c wcn36xx_tx_start_ampdu() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 0 pubsta 4096-ptr_max
PARAM_VALUE 1 tid 0-15
PARAM_VALUE 2 timeout 0
DATA_SOURCE 0 pubsta r wcn36xx_priv_to_sta
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 tid 0-15[c]
LOCK2 &sta_priv->ampdu_lock
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct wcn36xx_sta)->ampdu_lock

drivers/net/wireless/realtek/rtw88/main.c rtw_txq_ba_iter() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 0 pubsta 4096-ptr_max
PARAM_VALUE 0 pubsta->drv_priv 4096-ptr_max
PARAM_VALUE 0 pubsta->drv_priv->tid_ba 4096-ptr_max
PARAM_VALUE 1 tid 0-15
PARAM_VALUE 2 timeout 0
CAPPED_DATA 1 tid 1
DATA_SOURCE 0 pubsta $1
DATA_SOURCE 1 tid r find_first_bit
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &ar->conf_mutex
HALF_LOCKED2 &dev->mt76.mutex
HALF_LOCKED2 &file->lock
HALF_LOCKED2 &local->hw.wiphy->mtx
HALF_LOCKED2 &mvm->mutex
HALF_LOCKED2 &mvmsta->deflink.lq_sta.rs_drv.pers.lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &priv->sta_mutex
HALF_LOCKED2 &rtwdev->hw->wiphy->mtx
HALF_LOCKED2 &rtwdev->mutex
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/mediatek/mt76/mt7925/mac.c mt7925_tx_check_aggr() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 0 pubsta 4096-ptr_max
PARAM_VALUE 0 pubsta->link 4096-ptr_max
PARAM_VALUE 1 tid 0-15
PARAM_VALUE 2 timeout 0
DATA_SOURCE 0 pubsta $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh

drivers/net/wireless/rsi/rsi_91x_core.c rsi_core_xmit() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 1 tid 0-16
PARAM_VALUE 2 timeout 0
FUZZY_MAX 1 tid 16
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 tid 0-2,4-15[c]
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 rcu_read

drivers/net/wireless/intel/iwlwifi/mvm/rs.c rs_tl_turn_on_agg_for_tid() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 0 pubsta 4096-ptr_max
PARAM_VALUE 0 pubsta->deflink.supp_rates 4096-ptr_max
PARAM_VALUE 0 *pubsta->deflink.agg.max_tid_amsdu_len 0-u16max
PARAM_VALUE 1 tid 0-7
PARAM_VALUE 2 timeout 0
BUF_SIZE 0 pubsta (-1)-0,600
BUF_SIZE 0 pubsta (-1)-0,600
DATA_SOURCE 0 pubsta $3
DATA_SOURCE 1 tid $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 tid 0-7[c]
LOCK2 &mvmsta->deflink.lq_sta.rs_drv.pers.lock
LOCK2 bh
HALF_LOCKED2 &mvm->mutex
HALF_LOCKED2 &sta->rate_ctrl_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct lq_sta_pers)->lock

drivers/net/wireless/ath/ath9k/htc_drv_txrx.c ath9k_htc_check_tx_aggr() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 0 pubsta 4096-ptr_max
PARAM_VALUE 1 tid 0-7
PARAM_VALUE 2 timeout 0
BUF_SIZE 0 pubsta 600
DATA_SOURCE 0 pubsta r ieee80211_find_sta
HARD_MAX 1 tid 7
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 tid 0-7[c]
LOCK2 rcu_read
HALF_LOCKED2 &priv->wmi->event_lock

drivers/net/wireless/mediatek/mt76/mt7996/mac.c mt7996_tx_check_aggr() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 0 pubsta 4096-ptr_max
PARAM_VALUE 1 tid 0-15
PARAM_VALUE 2 timeout 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mt76.token_lock
HALF_LOCKED2 bh

drivers/net/wireless/rsi/rsi_91x_mac80211.c rsi_mac80211_sta_add() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 0 pubsta 4096-ptr_max
PARAM_VALUE 0 pubsta->deflink.ht_cap.ht_supported 1
PARAM_VALUE 0 pubsta->deflink.supp_rates 4096-ptr_max
PARAM_VALUE 1 tid 0
PARAM_VALUE 2 timeout 0
DATA_SOURCE 0 pubsta $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 pubsta->mfp 0-1
USER_DATA 0 pubsta->spp_amsdu 0-1[c]
USER_DATA 0 pubsta->wme 0-1[c]
NO_OVERFLOW_SIMPLE 0 pubsta->valid_links
USER_PTR 0 pubsta->addr
LOCK2 &common->mutex
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct rsi_common)->mutex

drivers/net/wireless/realtek/rtw89/core.c rtw89_core_ba_work() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 0 pubsta 1-u64max
PARAM_VALUE 2 timeout 0
PREEMPT_ADD <- disables preempt
UNITS 1 tid unit_array_size
LOCK2 &rtwdev->ba_lock
LOCK2 bh
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct rtw89_dev)->ba_lock

drivers/net/wireless/morsemicro/mm81x/mac.c mm81x_tx_h_check_aggr() -> ieee80211_start_tx_ba_session()

Type Parameter Key Value
PARAM_VALUE 0 pubsta 4096-ptr_max
PARAM_VALUE 0 pubsta->drv_priv 4096-ptr_max
PARAM_VALUE 0 pubsta->drv_priv->avg_rssi s16min-s16max
PARAM_VALUE 0 pubsta->drv_priv->max_bw_mhz s32min-s32max
PARAM_VALUE 0 pubsta->drv_priv->state 4-u32max
PARAM_VALUE 0 pubsta->drv_priv->tid_start_tx 4096-ptr_max
PARAM_VALUE 0 pubsta->drv_priv->tid_tx 4096-ptr_max
PARAM_VALUE 0 pubsta->drv_priv->tx_ps_filter_en 0-1
PARAM_VALUE 1 tid 0-15
PARAM_VALUE 2 timeout 0
BUF_SIZE 0 pubsta 600
DATA_SOURCE 0 pubsta $0
DATA_SOURCE 1 tid r ieee80211_get_tid
FUZZY_MAX 0 pubsta->drv_priv->state 4
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->mt76.mutex
HALF_LOCKED2 &local->iflist_mtx
HALF_LOCKED2 &mvm->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 rcu_read