Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 10 files:

Smatch caller information:

drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c mt76x02_tx() -> mt76_tx()

Type Parameter Key Value
PARAM_VALUE 1 sta 0,4096-ptr_max
PARAM_VALUE 3 skb 4096-ptr_max
PARAM_VALUE 3 skb->cb 4096-ptr_max
PARAM_VALUE 3 skb->dev->nd_net.net->ipv4.fqdir->f->frag_expire 0,663510801442193408,1753052602134376448,4007388366431105024,8876081723503042560
PARAM_VALUE 3 skb->dev->nd_net.net->ipv4.fqdir->f->qsize 0,304,320
BUF_SIZE 2 wcid 1024
DATA_SOURCE 3 skb $2
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 3 skb->csum_offset 0-u16max
HOST_DATA 3 skb->data_len 0-2147483648[c]
HOST_DATA 3 skb->len 14-u32max[c]
HOST_DATA 3 skb->prev->csum_offset 0-u16max
HOST_DATA 3 skb->prev->data_len 0-u32max[c]
HOST_DATA 3 skb->prev->len 0-u32max[c]
HOST_DATA 3 skb->prev->tstamp 500000002-4294967299794967295[c]
HOST_DATA 3 skb->tstamp 500000002-4294967299794967295[c]
HOST_DATA 3 skb->users.refs.counter s32min-0,2-s32max
HOST_DATA 3 *skb->data 0-255
NO_OVERFLOW_SIMPLE 3 skb->data_len
NO_OVERFLOW_SIMPLE 3 skb->dev->group
NO_OVERFLOW_SIMPLE 3 skb->dev->num_tc
NO_OVERFLOW_SIMPLE 3 skb->dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 3 skb->dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 3 skb->dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 3 skb->dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 3 skb->dev->tx_queue_len
NO_OVERFLOW_SIMPLE 3 skb->end
NO_OVERFLOW_SIMPLE 3 skb->extensions
NO_OVERFLOW_SIMPLE 3 skb->len
NO_OVERFLOW_SIMPLE 3 skb->next->tail
NO_OVERFLOW_SIMPLE 3 skb->next->truesize
NO_OVERFLOW_SIMPLE 3 skb->prev->end
NO_OVERFLOW_SIMPLE 3 skb->prev->len
NO_OVERFLOW_SIMPLE 3 skb->prev->tail
NO_OVERFLOW_SIMPLE 3 skb->prev->truesize
NO_OVERFLOW_SIMPLE 3 skb->tail
NO_OVERFLOW_SIMPLE 3 skb->truesize
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 rcu_read

drivers/net/wireless/mediatek/mt76/mt7603/main.c mt7603_tx() -> mt76_tx()

Type Parameter Key Value
PARAM_VALUE 1 sta 0,4096-ptr_max
PARAM_VALUE 3 skb 4096-ptr_max
PARAM_VALUE 3 skb->cb 4096-ptr_max
PARAM_VALUE 3 skb->dev->nd_net.net->ipv4.fqdir->f->frag_expire 0,663510801442193408,1753052602134376448,4007388366431105024,8876081723503042560
PARAM_VALUE 3 skb->dev->nd_net.net->ipv4.fqdir->f->qsize 0,304,320
BUF_SIZE 2 wcid 1024
DATA_SOURCE 3 skb $2
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 3 skb->csum_offset 0-u16max
HOST_DATA 3 skb->data_len 0-2147483648[c]
HOST_DATA 3 skb->len 14-u32max[c]
HOST_DATA 3 skb->prev->csum_offset 0-u16max
HOST_DATA 3 skb->prev->data_len 0-u32max[c]
HOST_DATA 3 skb->prev->len 0-u32max[c]
HOST_DATA 3 skb->prev->tstamp 500000002-4294967299794967295[c]
HOST_DATA 3 skb->tstamp 500000002-4294967299794967295[c]
HOST_DATA 3 skb->users.refs.counter s32min-0,2-s32max
HOST_DATA 3 *skb->data 0-255
NO_OVERFLOW_SIMPLE 3 skb->data_len
NO_OVERFLOW_SIMPLE 3 skb->dev->group
NO_OVERFLOW_SIMPLE 3 skb->dev->num_tc
NO_OVERFLOW_SIMPLE 3 skb->dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 3 skb->dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 3 skb->dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 3 skb->dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 3 skb->dev->tx_queue_len
NO_OVERFLOW_SIMPLE 3 skb->end
NO_OVERFLOW_SIMPLE 3 skb->extensions
NO_OVERFLOW_SIMPLE 3 skb->len
NO_OVERFLOW_SIMPLE 3 skb->next->tail
NO_OVERFLOW_SIMPLE 3 skb->next->truesize
NO_OVERFLOW_SIMPLE 3 skb->prev->end
NO_OVERFLOW_SIMPLE 3 skb->prev->len
NO_OVERFLOW_SIMPLE 3 skb->prev->tail
NO_OVERFLOW_SIMPLE 3 skb->prev->truesize
NO_OVERFLOW_SIMPLE 3 skb->tail
NO_OVERFLOW_SIMPLE 3 skb->truesize
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 rcu_read

drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c mt76_connac_pm_dequeue_skbs() -> mt76_tx()

Type Parameter Key Value
PARAM_VALUE 1 sta 0,4096-ptr_max
PARAM_VALUE 2 wcid 0,4096-ptr_max
PARAM_VALUE 3 skb 1-u64max
DATA_SOURCE 0 phy $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &pm->txq_lock
LOCK2 bh
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mt76_connac_pm)->txq_lock

drivers/net/wireless/mediatek/mt76/mt7915/main.c mt7915_tx() -> mt76_tx()

Type Parameter Key Value
PARAM_VALUE 0 phy 4096-ptr_max
PARAM_VALUE 1 sta 0,4096-ptr_max
PARAM_VALUE 3 skb 4096-ptr_max
PARAM_VALUE 3 skb->cb 4096-ptr_max
PARAM_VALUE 3 skb->dev->nd_net.net->ipv4.fqdir->f->frag_expire 0,663510801442193408,1753052602134376448,4007388366431105024,8876081723503042560
PARAM_VALUE 3 skb->dev->nd_net.net->ipv4.fqdir->f->qsize 0,304,320
BUF_SIZE 2 wcid 1024
DATA_SOURCE 3 skb $2
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 3 skb->csum_offset 0-u16max
HOST_DATA 3 skb->data_len 0-2147483648[c]
HOST_DATA 3 skb->len 14-u32max[c]
HOST_DATA 3 skb->prev->csum_offset 0-u16max
HOST_DATA 3 skb->prev->data_len 0-u32max[c]
HOST_DATA 3 skb->prev->len 0-u32max[c]
HOST_DATA 3 skb->prev->tstamp 500000002-4294967299794967295[c]
HOST_DATA 3 skb->tstamp 500000002-4294967299794967295[c]
HOST_DATA 3 skb->users.refs.counter s32min-0,2-s32max
HOST_DATA 3 *skb->data 0-255
NO_OVERFLOW_SIMPLE 3 skb->data_len
NO_OVERFLOW_SIMPLE 3 skb->dev->group
NO_OVERFLOW_SIMPLE 3 skb->dev->num_tc
NO_OVERFLOW_SIMPLE 3 skb->dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 3 skb->dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 3 skb->dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 3 skb->dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 3 skb->dev->tx_queue_len
NO_OVERFLOW_SIMPLE 3 skb->end
NO_OVERFLOW_SIMPLE 3 skb->extensions
NO_OVERFLOW_SIMPLE 3 skb->len
NO_OVERFLOW_SIMPLE 3 skb->next->tail
NO_OVERFLOW_SIMPLE 3 skb->next->truesize
NO_OVERFLOW_SIMPLE 3 skb->prev->end
NO_OVERFLOW_SIMPLE 3 skb->prev->len
NO_OVERFLOW_SIMPLE 3 skb->prev->tail
NO_OVERFLOW_SIMPLE 3 skb->prev->truesize
NO_OVERFLOW_SIMPLE 3 skb->tail
NO_OVERFLOW_SIMPLE 3 skb->truesize
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 rcu_read

drivers/net/wireless/mediatek/mt76/scan.c mt76_scan_send_probe() -> mt76_tx()

Type Parameter Key Value
PARAM_VALUE 0 phy 4096-ptr_max
PARAM_VALUE 0 phy->chan_state 4096-ptr_max
PARAM_VALUE 0 phy->chandef.chan 4096-ptr_max
PARAM_VALUE 0 phy->dev 4096-ptr_max
PARAM_VALUE 0 phy->dfs_state 0
PARAM_VALUE 0 phy->mac_work.work.entry.next 1-u64max
PARAM_VALUE 0 phy->mac_work.work.entry.prev 1-u64max
PARAM_VALUE 0 phy->tx_list.next 4096-ptr_max
PARAM_VALUE 1 sta 0
PARAM_VALUE 2 wcid 0,4096-ptr_max
PARAM_VALUE 3 skb 4096-2621809791279673352
PARAM_VALUE 3 skb->cb 4096-ptr_max
PARAM_VALUE 3 skb->cb->band 0-7
PARAM_VALUE 3 skb->cb->flags 0-4294967295
PARAM_VALUE 3 skb->cb->hw_queue 0-15
PARAM_VALUE 3 skb->data 4096-ptr_max
PARAM_VALUE 3 skb->data_len 0
PARAM_VALUE 3 skb->next 4096-ptr_max
PARAM_VALUE 3 skb->prev 4096-ptr_max
PARAM_VALUE 3 skb->priority 7
PARAM_VALUE 3 skb->queue_mapping 0
BUF_SIZE 3 skb (-1)-s32max
BUF_SIZE 3 skb (-1)-s32max
CAPPED_DATA 3 skb 1
DATA_SOURCE 3 skb r ieee80211_probereq_get
PREEMPT_ADD
NOCHECK_CALL
LOCK2 bh
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock

drivers/net/wireless/mediatek/mt76/mac80211.c mt76_offchannel_send_nullfunc() -> mt76_tx()

Type Parameter Key Value
PARAM_VALUE 0 phy 4096-ptr_max
PARAM_VALUE 0 phy->main_chandef.chan 4096-ptr_max
PARAM_VALUE 1 sta 0
PARAM_VALUE 3 skb 4096-2621809791279673352
PARAM_VALUE 3 skb->cb 4096-ptr_max
PARAM_VALUE 3 skb->cb->band 0-7
PARAM_VALUE 3 skb->cb->control.flags 0-4294967295
PARAM_VALUE 3 skb->cb->flags 0-4294967295
PARAM_VALUE 3 skb->cb->hw_queue 0-15
PARAM_VALUE 3 skb->data 4096-ptr_max
PARAM_VALUE 3 skb->data_len 0
PARAM_VALUE 3 skb->next 4096-ptr_max
PARAM_VALUE 3 skb->prev 4096-ptr_max
PARAM_VALUE 3 skb->priority 7
PARAM_VALUE 3 skb->queue_mapping 0
BUF_SIZE 2 wcid (-1),248
BUF_SIZE 2 wcid (-1),248
BUF_SIZE 3 skb (-1)-s32max
BUF_SIZE 3 skb (-1)-s32max
CAPPED_DATA 3 skb 1
DATA_SOURCE 3 skb r ieee80211_nullfunc_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->mt76.mutex
HALF_LOCKED2 &local->iflist_mtx
HALF_LOCKED2 &mvm->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 rcu_read

drivers/net/wireless/mediatek/mt76/mt7996/main.c mt7996_tx() -> mt76_tx()

Type Parameter Key Value
PARAM_VALUE 0 phy 1-u64max
PARAM_VALUE 1 sta 0,4096-ptr_max
PARAM_VALUE 2 wcid 1-u64max
PARAM_VALUE 3 skb 4096-ptr_max
PARAM_VALUE 3 skb->cb 4096-ptr_max
PARAM_VALUE 3 skb->dev->nd_net.net->ipv4.fqdir->f->frag_expire 0,663510801442193408,1753052602134376448,4007388366431105024,8876081723503042560
PARAM_VALUE 3 skb->dev->nd_net.net->ipv4.fqdir->f->qsize 0,304,320
BUF_SIZE 2 wcid (-1),1024
DATA_SOURCE 3 skb $2
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 3 skb->csum_offset 0-u16max
HOST_DATA 3 skb->data_len 0-2147483648[c]
HOST_DATA 3 skb->len 14-u32max[c]
HOST_DATA 3 skb->prev->csum_offset 0-u16max
HOST_DATA 3 skb->prev->data_len 0-u32max[c]
HOST_DATA 3 skb->prev->len 0-u32max[c]
HOST_DATA 3 skb->prev->tstamp 500000002-4294967299794967295[c]
HOST_DATA 3 skb->tstamp 500000002-4294967299794967295[c]
HOST_DATA 3 skb->users.refs.counter s32min-0,2-s32max
HOST_DATA 3 *skb->data 0-255
NO_OVERFLOW_SIMPLE 3 skb->data_len
NO_OVERFLOW_SIMPLE 3 skb->dev->group
NO_OVERFLOW_SIMPLE 3 skb->dev->num_tc
NO_OVERFLOW_SIMPLE 3 skb->dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 3 skb->dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 3 skb->dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 3 skb->dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 3 skb->dev->tx_queue_len
NO_OVERFLOW_SIMPLE 3 skb->end
NO_OVERFLOW_SIMPLE 3 skb->extensions
NO_OVERFLOW_SIMPLE 3 skb->len
NO_OVERFLOW_SIMPLE 3 skb->next->tail
NO_OVERFLOW_SIMPLE 3 skb->next->truesize
NO_OVERFLOW_SIMPLE 3 skb->prev->end
NO_OVERFLOW_SIMPLE 3 skb->prev->len
NO_OVERFLOW_SIMPLE 3 skb->prev->tail
NO_OVERFLOW_SIMPLE 3 skb->prev->truesize
NO_OVERFLOW_SIMPLE 3 skb->tail
NO_OVERFLOW_SIMPLE 3 skb->truesize
LOCK2 rcu_read
HALF_LOCKED2 &local->handle_wake_tx_queue_lock

drivers/net/wireless/mediatek/mt76/mt792x_core.c mt792x_tx() -> mt76_tx()

Type Parameter Key Value
PARAM_VALUE 0 phy 4096-ptr_max
PARAM_VALUE 1 sta 0,4096-ptr_max
PARAM_VALUE 1 sta->drv_priv 4096-ptr_max
PARAM_VALUE 3 skb 4096-ptr_max
PARAM_VALUE 3 skb->cb 4096-ptr_max
PARAM_VALUE 3 skb->dev->nd_net.net->ipv4.fqdir->f->frag_expire 0,663510801442193408,1753052602134376448,4007388366431105024,8876081723503042560
PARAM_VALUE 3 skb->dev->nd_net.net->ipv4.fqdir->f->qsize 0,304,320
BUF_SIZE 2 wcid 1024
DATA_SOURCE 3 skb $2
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 3 skb->csum_offset 0-u16max
HOST_DATA 3 skb->data_len 0-2147483648[c]
HOST_DATA 3 skb->len 14-u32max[c]
HOST_DATA 3 skb->prev->csum_offset 0-u16max
HOST_DATA 3 skb->prev->data_len 0-u32max[c]
HOST_DATA 3 skb->prev->len 0-u32max[c]
HOST_DATA 3 skb->prev->tstamp 500000002-4294967299794967295[c]
HOST_DATA 3 skb->tstamp 500000002-4294967299794967295[c]
HOST_DATA 3 skb->users.refs.counter s32min-0,2-s32max
HOST_DATA 3 *skb->data 0-255
NO_OVERFLOW_SIMPLE 3 skb->data_len
NO_OVERFLOW_SIMPLE 3 skb->dev->group
NO_OVERFLOW_SIMPLE 3 skb->dev->num_tc
NO_OVERFLOW_SIMPLE 3 skb->dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 3 skb->dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 3 skb->dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 3 skb->dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 3 skb->dev->tx_queue_len
NO_OVERFLOW_SIMPLE 3 skb->end
NO_OVERFLOW_SIMPLE 3 skb->extensions
NO_OVERFLOW_SIMPLE 3 skb->len
NO_OVERFLOW_SIMPLE 3 skb->next->tail
NO_OVERFLOW_SIMPLE 3 skb->next->truesize
NO_OVERFLOW_SIMPLE 3 skb->prev->end
NO_OVERFLOW_SIMPLE 3 skb->prev->len
NO_OVERFLOW_SIMPLE 3 skb->prev->tail
NO_OVERFLOW_SIMPLE 3 skb->prev->truesize
NO_OVERFLOW_SIMPLE 3 skb->tail
NO_OVERFLOW_SIMPLE 3 skb->truesize
HALF_LOCKED2 &local->handle_wake_tx_queue_lock

drivers/net/wireless/mediatek/mt76/mt7615/main.c mt7615_tx() -> mt76_tx()

Type Parameter Key Value
PARAM_VALUE 0 phy 4096-ptr_max
PARAM_VALUE 1 sta 0,4096-ptr_max
PARAM_VALUE 3 skb 4096-ptr_max
PARAM_VALUE 3 skb->cb 4096-ptr_max
PARAM_VALUE 3 skb->dev->nd_net.net->ipv4.fqdir->f->frag_expire 0,663510801442193408,1753052602134376448,4007388366431105024,8876081723503042560
PARAM_VALUE 3 skb->dev->nd_net.net->ipv4.fqdir->f->qsize 0,304,320
BUF_SIZE 2 wcid 1024
DATA_SOURCE 3 skb $2
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 3 skb->csum_offset 0-u16max
HOST_DATA 3 skb->data_len 0-2147483648[c]
HOST_DATA 3 skb->len 14-u32max[c]
HOST_DATA 3 skb->prev->csum_offset 0-u16max
HOST_DATA 3 skb->prev->data_len 0-u32max[c]
HOST_DATA 3 skb->prev->len 0-u32max[c]
HOST_DATA 3 skb->prev->tstamp 500000002-4294967299794967295[c]
HOST_DATA 3 skb->tstamp 500000002-4294967299794967295[c]
HOST_DATA 3 skb->users.refs.counter s32min-0,2-s32max
HOST_DATA 3 *skb->data 0-255
NO_OVERFLOW_SIMPLE 3 skb->data_len
NO_OVERFLOW_SIMPLE 3 skb->dev->group
NO_OVERFLOW_SIMPLE 3 skb->dev->num_tc
NO_OVERFLOW_SIMPLE 3 skb->dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 3 skb->dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 3 skb->dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 3 skb->dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 3 skb->dev->tx_queue_len
NO_OVERFLOW_SIMPLE 3 skb->end
NO_OVERFLOW_SIMPLE 3 skb->extensions
NO_OVERFLOW_SIMPLE 3 skb->len
NO_OVERFLOW_SIMPLE 3 skb->next->tail
NO_OVERFLOW_SIMPLE 3 skb->next->truesize
NO_OVERFLOW_SIMPLE 3 skb->prev->end
NO_OVERFLOW_SIMPLE 3 skb->prev->len
NO_OVERFLOW_SIMPLE 3 skb->prev->tail
NO_OVERFLOW_SIMPLE 3 skb->prev->truesize
NO_OVERFLOW_SIMPLE 3 skb->tail
NO_OVERFLOW_SIMPLE 3 skb->truesize
HALF_LOCKED2 &local->handle_wake_tx_queue_lock
HALF_LOCKED2 rcu_read