Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

drivers/net/wireless/mediatek/mt76/mt76x02_mac.c mt76x02_tx_complete_skb() -> mt76_get_txwi_ptr()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->drv 4096-ptr_max
PARAM_VALUE 1 t 1-u64max
BUF_SIZE 0 dev->bus (-1),64
BUF_SIZE 0 dev->mcu_ops (-1),88
BUF_SIZE 0 dev->phy.priv (-1),13440,13480
BUF_SIZE 0 dev->test_ops (-1),24
DATA_SOURCE 0 dev $0
STR_LEN 0 dev (-1),22
STR_LEN 0 dev (-1),22
STR_LEN 0 dev->hw->wiphy->fw_version (-1),31
TASK_NOT_RUNNING
HOST_DATA 0 dev->mmio.irqmask 0-u32max[c]
HOST_DATA 0 dev->rx_token.idr_rt.xa_flags 0-u32max
HOST_DATA 0 dev->rxfilter 0-u32max
HOST_DATA 0 dev->token.idr_rt.xa_flags 0,67108864-u32max
NO_OVERFLOW_SIMPLE 0 dev->phy.leds.cdev.blink_brightness
NO_OVERFLOW_SIMPLE 0 dev->tx_worker.task->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 dev->usb.rx_worker.task->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 dev->usb.status_worker.task->dl.pi_se->dl_runtime
HALF_LOCKED2 &q->cleanup_lock
HALF_LOCKED2 bh

drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c mt76_connac2_txwi_free() -> mt76_get_txwi_ptr()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 t 4096-ptr_max
BUF_SIZE 0 dev (-1),53736
BUF_SIZE 0 dev (-1),53736
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 t $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 dev->mmio.irqmask 0-u32max[c]
HOST_DATA 0 dev->rx_token.idr_rt.xa_flags 0-u32max
HOST_DATA 0 dev->rxfilter 0-u32max
HOST_DATA 0 dev->token.idr_rt.xa_flags 0,67108864-u32max
NO_OVERFLOW_SIMPLE 0 dev->phy.leds.cdev.blink_delay_off
NO_OVERFLOW_SIMPLE 0 dev->phy.leds.cdev.blink_delay_on
HALF_LOCKED2 bh
HALF_LOCKED2 0 &dev->token_lock

drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c mt76_connac_txwi_to_txp() -> mt76_get_txwi_ptr()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 t 1-u64max
BUF_SIZE 0 dev (-1),53736
BUF_SIZE 0 dev (-1),53736
BUF_SIZE 0 dev->phy.priv (-1),13480
BUF_SIZE 0 dev->test_ops (-1),24
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 t $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->phy.leds.cdev.blink_delay_off
NO_OVERFLOW_SIMPLE 0 dev->phy.leds.cdev.blink_delay_on
NO_OVERFLOW_SIMPLE 0 dev->scan.vif->active_links
HALF_LOCKED2 0 &dev->token_lock

drivers/net/wireless/mediatek/mt76/dma.c mt76_dma_tx_queue_skb() -> mt76_get_txwi_ptr()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 t 4096-ptr_max
DATA_SOURCE 1 t r mt76_get_txwi
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->ps_lock
HALF_LOCKED2 &q->lock
HALF_LOCKED2 bh

drivers/net/wireless/mediatek/mt76/dma.c mt76_free_pending_txwi() -> mt76_get_txwi_ptr()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->drv 4096-ptr_max
PARAM_VALUE 1 t 4096-ptr_max
CAPPED_DATA 0 dev->tx_napi.timer.base 1
CAPPED_DATA 0 dev->tx_worker.task 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 t r __mt76_get_txwi
PARAM_COMPARE 0 &dev->txwi_cache != $0->txwi_cache.next
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 dev->mmio.irqmask 0-u32max[c]
HOST_DATA 0 dev->rx_token.idr_rt.xa_flags 0-u32max
HOST_DATA 0 dev->rxfilter 0-u32max
HOST_DATA 0 dev->token.idr_rt.xa_flags 0,33554432-u32max
NO_OVERFLOW_SIMPLE 0 dev->phy.leds.cdev.blink_delay_off
NO_OVERFLOW_SIMPLE 0 dev->phy.leds.cdev.blink_delay_on
LOCK2 bh

drivers/net/wireless/mediatek/mt76/mt7925/mac.c mt7925_txwi_free() -> mt76_get_txwi_ptr()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 t 4096-ptr_max
BUF_SIZE 0 dev 53736
DATA_SOURCE 1 t $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mt76.token_lock
HALF_LOCKED2 bh

drivers/net/wireless/mediatek/mt76/mt7996/mac.c mt7996_txp_skb_unmap() -> mt76_get_txwi_ptr()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 t 1-u64max
BUF_SIZE 0 dev 53736
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 t $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->phy.leds.cdev.blink_delay_off
NO_OVERFLOW_SIMPLE 0 dev->phy.leds.cdev.blink_delay_on
HALF_LOCKED2 &dev->mt76.token_lock
HALF_LOCKED2 bh

drivers/net/wireless/mediatek/mt76/mt7996/mac.c mt7996_txwi_free() -> mt76_get_txwi_ptr()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->drv 4096-ptr_max
PARAM_VALUE 1 t 4096-ptr_max
BUF_SIZE 0 dev 53736
DATA_SOURCE 1 t $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mt76.token_lock
HALF_LOCKED2 bh

drivers/net/wireless/mediatek/mt76/mt7615/mac.c mt7615_txwi_free() -> mt76_get_txwi_ptr()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 t 4096-ptr_max
BUF_SIZE 0 dev 53736
DATA_SOURCE 1 t $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mt76.token_lock
HALF_LOCKED2 bh