Defined in 1 files as a function:

Referenced in 19 files:

Smatch caller information:

drivers/net/wireless/virtual/mac80211_hwsim_main.c mac80211_hwsim_get_tx_rate() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 1 c 4096-ptr_max
PARAM_VALUE 1 c->control.rates 4096-ptr_max
BUF_SIZE 0 hw s32min-(-1),1-s32max
BUF_SIZE 0 hw s32min-(-1),1-s32max
BUF_SIZE 1 c 48
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 c $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &data->tsf_offset_lock
HALF_LOCKED2 bh

drivers/net/wireless/marvell/libertas_tf/main.c lbtf_tx_work() -> ieee80211_get_tx_rate()

Type Parameter Key Value
BUF_SIZE 1 c 48
HALF_LOCKED2 &pool->lock

drivers/net/wireless/intel/iwlegacy/3945-mac.c il3945_mac_tx() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
TASK_NOT_RUNNING
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 rcu_read

drivers/net/wireless/intel/iwlegacy/3945-mac.c il3945_tx_skb() -> ieee80211_get_tx_rate()

Type Parameter Key Value
BUF_SIZE 1 c 48
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
LOCK2 &il->lock
LOCK2 flags
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct il_priv)->lock

drivers/net/wireless/broadcom/b43/main.c b43_write_beacon_template() -> ieee80211_get_tx_rate()

Type Parameter Key Value
BUF_SIZE 1 c 48
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->wl->beacon_lock
LOCK2 flags
HALF_LOCKED2 &dev->wl->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &wl->mutex
TYPE_LOCK (struct b43_wl)->beacon_lock
TYPE_LOCK (struct b43_wl)->mutex

drivers/net/wireless/broadcom/b43legacy/xmit.c generate_txhdr_fw3() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 1 c 4096-ptr_max
BUF_SIZE 1 c (-1),48
BUF_SIZE 1 c (-1),48
DATA_SOURCE 1 c $4
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->wl->irq_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &wl->mutex
HALF_LOCKED2 flags

drivers/net/wireless/admtek/adm8211.c adm8211_tx() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
BUF_SIZE 1 c 48
DATA_SOURCE 0 hw $0
TASK_NOT_RUNNING
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 rcu_read

drivers/net/wireless/intel/iwlegacy/4965-mac.c il4965_mac_tx() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
TASK_NOT_RUNNING
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 rcu_read

drivers/net/wireless/broadcom/b43/xmit.c b43_generate_txhdr() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 1 c 4096-ptr_max
BUF_SIZE 1 c 48
DATA_SOURCE 1 c $3
LOCK2 &wl->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct b43_wl)->mutex

drivers/net/wireless/atmel/at76c50x-usb.c at76_mac80211_tx() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
BUF_SIZE 1 c 48
CAPPED_DATA 0 hw->queues 1
DATA_SOURCE 0 hw $0
TASK_NOT_RUNNING
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 rcu_read

drivers/net/wireless/zydas/zd1211rw/zd_mac.c fill_ctrlset() -> ieee80211_get_tx_rate()

Type Parameter Key Value
BUF_SIZE 1 c 48
TASK_NOT_RUNNING
HALF_LOCKED2 &local->handle_wake_tx_queue_lock

drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c rtl8187_tx() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
BUF_SIZE 1 c 48
DATA_SOURCE 0 hw $0
TASK_NOT_RUNNING
HALF_LOCKED2 &local->handle_wake_tx_queue_lock

drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c rtl8187_tx() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 1 c 4096-ptr_max
PARAM_VALUE 1 c->control.rates 4096-ptr_max
BUF_SIZE 1 c 48
DATA_SOURCE 0 hw $0
TASK_NOT_RUNNING
HALF_LOCKED2 &local->handle_wake_tx_queue_lock

drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c brcms_c_beacon_write() -> ieee80211_get_tx_rate()

Type Parameter Key Value
BUF_SIZE 1 c 48
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &wl->lock
HALF_LOCKED2 bh

drivers/net/wireless/ath/ath5k/base.c ath5k_beacon_setup() -> ieee80211_get_tx_rate()

Type Parameter Key Value
BUF_SIZE 1 c 48
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ah->block
HALF_LOCKED2 &ah->lock
HALF_LOCKED2 bh
TYPE_LOCK (struct ath5k_hw)->block

drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c rtl8180_tx() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
BUF_SIZE 1 c 48
DATA_SOURCE 0 hw $0
TASK_NOT_RUNNING
HALF_LOCKED2 &local->handle_wake_tx_queue_lock

drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c rtl8180_tx() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 1 c 4096-ptr_max
PARAM_VALUE 1 c->control.rates 4096-ptr_max
BUF_SIZE 1 c 48
DATA_SOURCE 0 hw $0
TASK_NOT_RUNNING
HALF_LOCKED2 &local->handle_wake_tx_queue_lock

drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c rtl8180_tx() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 1 c 4096-ptr_max
PARAM_VALUE 1 c->control.rates 4096-ptr_max
BUF_SIZE 1 c 48
DATA_SOURCE 0 hw $0
TASK_NOT_RUNNING
HALF_LOCKED2 &local->handle_wake_tx_queue_lock

drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c rtl8180_tx() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 1 c 4096-ptr_max
PARAM_VALUE 1 c->control.rates 4096-ptr_max
BUF_SIZE 1 c 48
DATA_SOURCE 0 hw $0
TASK_NOT_RUNNING
HALF_LOCKED2 &local->handle_wake_tx_queue_lock

drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c rtl8180_tx() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
PARAM_VALUE 1 c 4096-ptr_max
PARAM_VALUE 1 c->control.rates 4096-ptr_max
BUF_SIZE 1 c 48
DATA_SOURCE 0 hw $0
TASK_NOT_RUNNING
HALF_LOCKED2 &local->handle_wake_tx_queue_lock

drivers/net/wireless/realtek/rtlwifi/base.c _rtl_get_tx_hw_rate() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 0 hw 4096-ptr_max
DATA_SOURCE 0 hw $0
DATA_SOURCE 1 c $1
TASK_NOT_RUNNING
HALF_LOCKED2 &rtlpriv->locks.irq_th_lock
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/net/wireless/ti/wl1251/tx.c wl1251_tx_fill_hdr() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 1 c 4096-ptr_max
BUF_SIZE 1 c 48
DATA_SOURCE 1 c $2
LOCK2 &wl->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct wl1251)->mutex

drivers/net/wireless/ralink/rt2x00/rt2x00queue.c rt2x00queue_create_tx_descriptor() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 1 c 4096-ptr_max
PARAM_VALUE 1 c->control.rates 4096-ptr_max
BUF_SIZE 1 c 48
RX_PATH
TASK_NOT_RUNNING

drivers/net/wireless/broadcom/b43legacy/main.c b43legacy_write_beacon_template() -> ieee80211_get_tx_rate()

Type Parameter Key Value
BUF_SIZE 1 c 48
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->wl->irq_lock
HALF_LOCKED2 &wl->irq_lock
HALF_LOCKED2 &wl->mutex
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct b43legacy_wl)->irq_lock

drivers/net/wireless/intel/iwlegacy/3945.c il3945_hw_build_tx_cmd_rate() -> ieee80211_get_tx_rate()

Type Parameter Key Value
PARAM_VALUE 1 c 4096-ptr_max
BUF_SIZE 1 c 48
DATA_SOURCE 1 c $2
PREEMPT_ADD
TASK_NOT_RUNNING
LOCK2 &il->lock
LOCK2 flags
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct il_priv)->lock