Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/net/vmxnet3/vmxnet3_drv.c vmxnet3_tq_tx_complete() -> vmxnet3_cmd_ring_desc_avail()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &tq->tx_lock
TYPE_LOCK (struct vmxnet3_tx_queue)->tx_lock

drivers/net/vmxnet3/vmxnet3_drv.c vmxnet3_tq_xmit() -> vmxnet3_cmd_ring_desc_avail()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &tq->tx_lock
LOCK2 flags
HALF_LOCKED2 &netdev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct vmxnet3_tx_queue)->tx_lock

drivers/net/vmxnet3/vmxnet3_xdp.c vmxnet3_xdp_xmit_frame() -> vmxnet3_cmd_ring_desc_avail()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &nq->_xmit_lock
LOCK2 &tq->tx_lock
LOCK2 irq
TYPE_LOCK (struct netdev_queue)->_xmit_lock
TYPE_LOCK (struct vmxnet3_tx_queue)->tx_lock