Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/net/ethernet/google/gve/gve_tx.c gve_can_tx() -> gve_tx_avail()

Type Parameter Key Value
PARAM_VALUE 0 tx 4096-ptr_max
DATA_SOURCE 0 tx $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 tx->q_num
HALF_LOCKED2 rcu_read
HALF_LOCKED2 0 &tx->clean_lock
HALF_LOCKED2 0 &tx->xdp_lock

drivers/net/ethernet/google/gve/gve_tx.c gve_maybe_stop_tx() -> gve_tx_avail()

Type Parameter Key Value
PARAM_VALUE 0 tx 4096-ptr_max
DATA_SOURCE 0 tx $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &tx->clean_lock
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct gve_tx_ring)->clean_lock