Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/thunderbolt/stream.c tbstream_dev_alloc_tx() -> tbstream_ring_available()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sdev->lock
TYPE_LOCK (struct tbstream_dev)->lock

drivers/thunderbolt/stream.c tbstream_dev_fops_poll() -> tbstream_ring_available()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 _T->lock
HALF_LOCKED2 &kvm->irq_srcu
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &vm->irqfds_lock
HALF_LOCKED2 global &irqfds_srcu

drivers/thunderbolt/stream.c tbstream_dev_fops_poll() -> tbstream_ring_available()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 _T->lock
HALF_LOCKED2 &kvm->irq_srcu
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &vm->irqfds_lock
HALF_LOCKED2 global &irqfds_srcu

drivers/thunderbolt/stream.c tbstream_dev_fops_read_iter() -> tbstream_ring_available()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sdev->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tbstream_dev)->lock

drivers/thunderbolt/stream.c tbstream_dev_fops_read_iter() -> tbstream_ring_available()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/thunderbolt/stream.c tbstream_dev_fops_read_iter() -> tbstream_ring_available()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/thunderbolt/stream.c tbstream_dev_fops_read_iter() -> tbstream_ring_available()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/thunderbolt/stream.c tbstream_dev_fops_write_iter() -> tbstream_ring_available()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sdev->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tbstream_dev)->lock

drivers/thunderbolt/stream.c tbstream_dev_fops_write_iter() -> tbstream_ring_available()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/thunderbolt/stream.c tbstream_dev_fops_write_iter() -> tbstream_ring_available()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/thunderbolt/stream.c tbstream_dev_fops_write_iter() -> tbstream_ring_available()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/thunderbolt/stream.c tbstream_dev_send_close() -> tbstream_ring_available()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sdev->lock
TYPE_LOCK (struct tbstream_dev)->lock