Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/net/wireless/mediatek/mt76/tx.c __mt76_tx_complete_skb() -> mt76_tx_skb_cb()

Type Parameter Key Value
PARAM_VALUE 0 skb 1-u64max
DATA_SOURCE 0 skb $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh

drivers/net/wireless/mediatek/mt76/tx.c __mt76_tx_status_skb_done() -> mt76_tx_skb_cb()

Type Parameter Key Value
PARAM_VALUE 0 skb 1-u64max
DATA_SOURCE 0 skb $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 skb unit_byte
LOCK2 &dev->status_lock
LOCK2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mt76_dev)->status_lock

drivers/net/wireless/mediatek/mt76/tx.c mt76_tx_status_skb_add() -> mt76_tx_skb_cb()

Type Parameter Key Value
PARAM_VALUE 0 skb 4096-ptr_max
DATA_SOURCE 0 skb $2
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->ps_lock
HALF_LOCKED2 &q->lock

drivers/net/wireless/mediatek/mt76/tx.c mt76_tx_status_skb_get() -> mt76_tx_skb_cb()

Type Parameter Key Value
PARAM_VALUE 0 skb 1-u64max
DATA_SOURCE 0 skb r idr_get_next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->status_lock
LOCK2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mt76_dev)->status_lock

drivers/net/wireless/mediatek/mt76/tx.c mt76_tx_status_unlock() -> mt76_tx_skb_cb()

Type Parameter Key Value
PARAM_VALUE 0 skb 4096-ptr_max
DATA_SOURCE 0 skb r __skb_dequeue
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read