Defined in 1 files as a struct:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/net/wireless/mediatek/mt76/mt7996/mcu.c mt7996_mcu_add_rate_ctrl() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 vif 4096-ptr_max
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 vif $2
DATA_SOURCE 2 link_id $3
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 vif->bss_conf.qos 0-1[c]
NO_OVERFLOW_SIMPLE 1 vif->active_links
UNITS 2 link_id unit_array_size
LOCK2 rcu_read
LOCK2 0 &dev->mt76.mutex
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/mcu.c mt7996_mcu_add_rate_ctrl_fixed() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mcu_ops 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 1 vif->drv_priv 4096-ptr_max
PARAM_VALUE 1 vif->link_conf 4096-ptr_max
PARAM_VALUE 2 link_id 0-14
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 vif $2
DATA_SOURCE 2 link_id $3
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 vif->bss_conf.qos 0-1[c]
NO_OVERFLOW_SIMPLE 1 vif->active_links
UNITS 2 link_id unit_array_size
LOCK2 rcu_read
LOCK2 0 &dev->mt76.mutex
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/mcu.c mt7996_mcu_add_rx_ba() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 2 link_id 0-14
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 vif $2
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &dev->mt76.mutex
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/mcu.c mt7996_mcu_add_tx_ba() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 2 link_id 0-14
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 vif $2
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &dev->mt76.mutex
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/mcu.c mt7996_mcu_mld_reconf_stop_link() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mcu_ops 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mcu_ops->headroom 0,4,32,64,68
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 1 vif->type 3
PARAM_VALUE 2 link_id 0-14
CAPPED_DATA 2 link_id 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 vif $1
DATA_SOURCE 2 link_id r find_next_bit
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 vif->active_links
HALF_LOCKED2 &dev->mutex

drivers/net/wireless/mediatek/mt76/mt7996/mcu.c mt7996_mcu_set_emlsr_mode() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 1 vif->type 3
PARAM_VALUE 1 vif->valid_links 1-u16max
PARAM_VALUE 2 link_id 0-15
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 vif $1
RX_PATH
TASK_NOT_RUNNING
UNITS 2 link_id unit_array_size
LOCK2 0 &dev->mt76.mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &rdev->wiphy.mtx
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/mcu.c mt7996_mcu_set_emlsr_mode() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mcu_ops 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mcu_ops->headroom 0,4,32,64,68
PARAM_VALUE 0 dev->mt76.mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 1 vif->drv_priv 4096-ptr_max
PARAM_VALUE 1 vif->type 3
PARAM_VALUE 1 vif->valid_links 1-u16max
PARAM_VALUE 2 link_id 0-14
CAPPED_DATA 2 link_id 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 vif $1
DATA_SOURCE 2 link_id r find_next_bit
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &dev->mt76.mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &rdev->wiphy.mtx
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/mcu.c mt7996_mcu_sta_mld_setup_tlv() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mcu_ops 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 2 link_id 0-14
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 vif $2
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &dev->mt76.mutex
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/main.c mt7996_channel_switch_beacon() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 1 vif->link_conf 4096-ptr_max
PARAM_VALUE 2 link_id 0-14
CAPPED_DATA 0 &dev->mt76.mutex 1
DATA_SOURCE 0 dev r mt7996_hw_dev
DATA_SOURCE 1 vif $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &dev->mt76.mutex
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/main.c mt7996_mac_sta_add_links() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 *dev->mt76.wcid_mask 0-4294967295
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 1 vif->link_conf 4096-ptr_max
PARAM_VALUE 2 link_id 0-14
CAPPED_DATA 2 link_id 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 vif $1
DATA_SOURCE 2 link_id r find_next_bit
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 vif->active_links 0-u16max[c]
USER_DATA 1 vif->bss_conf.qos 0-1[c]
LOCK2 0 &dev->mt76.mutex
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/main.c mt7996_mac_sta_event() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 1 vif->link_conf 4096-ptr_max
PARAM_VALUE 2 link_id 0-14
CAPPED_DATA 0 &dev->mt76.mutex 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 vif $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 vif->bss_conf.qos 0-1[c]
NO_OVERFLOW_SIMPLE 1 vif->active_links
LOCK2 0 &dev->mt76.mutex
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/main.c mt7996_net_fill_forward_path() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 vif 4096-ptr_max
DATA_SOURCE 0 dev r mt7996_hw_dev
DATA_SOURCE 1 vif $1
RX_PATH
TASK_NOT_RUNNING
UNITS 2 link_id unit_array_size
LOCK2 rcu_read
HALF_LOCKED2 global &flow_offload_mutex
HALF_LOCKED2 global &mtk_flow_offload_mutex

drivers/net/wireless/mediatek/mt76/mt7996/main.c mt7996_offset_tsf() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 1 vif->drv_priv 4096-ptr_max
CAPPED_DATA 0 &dev->mt76.mutex 1
DATA_SOURCE 0 dev r mt7996_hw_dev
DATA_SOURCE 1 vif $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 vif->active_links
UNITS 2 link_id unit_array_size
LOCK2 0 &dev->mt76.mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &rdev->wiphy.mtx
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/main.c mt7996_remove_interface() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 1 vif->drv_priv 4096-ptr_max
PARAM_VALUE 2 link_id 0-14
CAPPED_DATA 0 &dev->mt76.mutex 1
CAPPED_DATA 2 link_id 1
DATA_SOURCE 0 dev r mt7996_hw_dev
DATA_SOURCE 1 vif $1
DATA_SOURCE 2 link_id r find_next_bit
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 vif->active_links
LOCK2 0 &dev->mt76.mutex
HALF_LOCKED2 &local->hw.wiphy->mtx
HALF_LOCKED2 &local->iflist_mtx
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/main.c mt7996_set_hw_key() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 vif 1-u64max
DATA_SOURCE 0 dev r mt7996_hw_dev
DATA_SOURCE 1 vif $2
DATA_SOURCE 2 link_id $4
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 vif->active_links 0-u16max[c][u]
NO_OVERFLOW_SIMPLE 1 vif->active_links
UNITS 2 link_id unit_array_size
HALF_LOCKED2 &dev->mt76.mutex

drivers/net/wireless/mediatek/mt76/mt7996/main.c mt7996_set_tsf() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 1 vif->drv_priv 4096-ptr_max
CAPPED_DATA 0 &dev->mt76.mutex 1
DATA_SOURCE 0 dev r mt7996_hw_dev
DATA_SOURCE 1 vif $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 vif->active_links
UNITS 2 link_id unit_array_size
LOCK2 0 &dev->mt76.mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &rdev->wiphy.mtx
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/main.c mt7996_sta_set_4addr() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 2 link_id 0-14
CAPPED_DATA 0 &dev->mt76.mutex 1
DATA_SOURCE 0 dev r mt7996_hw_dev
DATA_SOURCE 1 vif $1
RX_PATH
TASK_NOT_RUNNING
UNITS 2 link_id unit_array_size
LOCK2 0 &dev->mt76.mutex
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/main.c mt7996_sta_set_decap_offload() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 2 link_id 0-14
CAPPED_DATA 0 &dev->mt76.mutex 1
DATA_SOURCE 0 dev r mt7996_hw_dev
DATA_SOURCE 1 vif $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 vif->active_links
LOCK2 0 &dev->mt76.mutex
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/main.c mt7996_vif_cfg_changed() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 1 vif->cfg.assoc 1
PARAM_VALUE 1 vif->link_conf 4096-ptr_max
PARAM_VALUE 2 link_id 0-14
CAPPED_DATA 0 &dev->mt76.mutex 1
DATA_SOURCE 0 dev r mt7996_hw_dev
DATA_SOURCE 1 vif $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 vif->active_links
LOCK2 0 &dev->mt76.mutex
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/main.c mt7996_vif_cfg_changed() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->mt76.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->mt76.mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner (-1)
PARAM_VALUE 0 dev->mt76.mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 1 vif->cfg.assoc 0
PARAM_VALUE 1 vif->link_conf 4096-ptr_max
PARAM_VALUE 1 vif->type 2
PARAM_VALUE 2 link_id 0-14
CAPPED_DATA 0 &dev->mt76.mutex 1
DATA_SOURCE 0 dev r mt7996_hw_dev
DATA_SOURCE 1 vif $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 vif->active_links
LOCK2 0 &dev->mt76.mutex
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/main.c mt7996_vif_link_remove() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 0 dev->mt76.mcu_ops->headroom 0,4,32,64,68
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 1 vif->drv_priv 4096-ptr_max
PARAM_VALUE 1 vif->drv_priv->mt76.deflink_id 15
PARAM_VALUE 1 vif->link_conf 4096-ptr_max
PARAM_VALUE 1 vif->txq 4096-ptr_max
PARAM_VALUE 2 link_id 0-14
DATA_SOURCE 1 vif $1
RX_PATH
TASK_NOT_RUNNING
UNITS 2 link_id unit_array_size
HALF_LOCKED2 &dev->mutex

drivers/net/wireless/mediatek/mt76/mt7996/mac.c mt7996_update_vif_beacon() -> mt7996_vif_link()

Type Parameter Key Value
PARAM_VALUE 1 vif 4096-ptr_max
PARAM_VALUE 1 vif->link_conf 4096-ptr_max
PARAM_VALUE 1 vif->type 1,3,7
PARAM_VALUE 2 link_id 0-14
DATA_SOURCE 1 vif $2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mt76.mutex
HALF_LOCKED2 &local->iflist_mtx
HALF_LOCKED2 &mvm->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 rcu_read