Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/net/wireless/mediatek/mt76/mt7996/main.c mt7996_mac_sta_remove() -> mt7996_mac_sta_remove_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 sta 4096-ptr_max
PARAM_VALUE 2 link_id 0-14
PARAM_VALUE 3 flush 1
CAPPED_DATA 0 &dev->mt76.mutex 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 sta $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 sta->mfp 0-1
USER_DATA 1 sta->spp_amsdu 0-1[c]
USER_DATA 1 sta->wme 0-1[c]
NO_OVERFLOW_SIMPLE 1 sta->valid_links
UNITS 2 link_id unit_array_size
USER_PTR 1 sta->addr
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_mac_sta_remove_links() -> mt7996_mac_sta_remove_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 sta 4096-ptr_max
PARAM_VALUE 2 link_id 0-14
CAPPED_DATA 2 link_id 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 sta $2
DATA_SOURCE 2 link_id r find_next_bit
DATA_SOURCE 3 flush $4
FUZZY_MAX 2 link_id 14
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 sta->mfp 0-1
USER_DATA 1 sta->spp_amsdu 0-1[c]
USER_DATA 1 sta->wme 0-1[c]
NO_OVERFLOW_SIMPLE 1 sta->valid_links
USER_PTR 1 sta->addr
LOCK2 0 &dev->mt76.mutex
TYPE_LOCK (struct mt76_dev)->mutex

drivers/net/wireless/mediatek/mt76/mt7996/mac.c mt7996_mac_reset_sta_iter() -> mt7996_mac_sta_remove_link()

Type Parameter Key Value
PARAM_VALUE 0 *dev->mt76.wcid_mask 0-4294967295
PARAM_VALUE 1 sta 4096-ptr_max
PARAM_VALUE 2 link_id 0-14
PARAM_VALUE 3 flush 1
BUF_SIZE 0 dev s32min-(-1),1-s32max
BUF_SIZE 0 dev s32min-(-1),1-s32max
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 sta $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 link_id unit_array_size
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