Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/net/thunderbolt/main.c tb_ring_rx() -> __tb_ring_enqueue()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 0 ring->nhi 4096-ptr_max
PARAM_VALUE 0 ring->nhi->dev->dma_io_tlb_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ring->nhi->dev->dma_io_tlb_pools.next 4096-ptr_max
PARAM_VALUE 0 ring->nhi->dev->dma_io_tlb_pools.next->prev 4096-ptr_max
PARAM_VALUE 0 ring->nhi->dev->dma_io_tlb_pools.next->prev->prev 4096-ptr_max
PARAM_VALUE 0 ring->nhi->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 ring->nhi->dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 1 frame 4096-ptr_max
PARAM_VALUE 1 frame->buffer_phy 0-18446744073709551614
DATA_SOURCE 0 ring $0
DATA_SOURCE 1 frame $1
RX_PATH
TASK_NOT_RUNNING

drivers/net/thunderbolt/main.c tb_ring_tx() -> __tb_ring_enqueue()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 0 ring->nhi 4096-ptr_max
PARAM_VALUE 1 frame 4096-ptr_max
DATA_SOURCE 0 ring $0
DATA_SOURCE 1 frame $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/thunderbolt/ctl.c tb_ring_rx() -> __tb_ring_enqueue()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 1 frame 4096-ptr_max
DATA_SOURCE 0 ring $0
DATA_SOURCE 1 frame $1
RX_PATH
TASK_NOT_RUNNING

drivers/thunderbolt/ctl.c tb_ring_tx() -> __tb_ring_enqueue()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 1 frame 4096-ptr_max
PARAM_VALUE 1 frame->callback 496140806440374272
PARAM_VALUE 1 frame->eof 1-4,6-7,9,11
PARAM_VALUE 1 frame->size 4-256
PARAM_VALUE 1 frame->sof 1-4,6-7,9,11
DATA_SOURCE 0 ring $0
DATA_SOURCE 1 frame $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/thunderbolt/stream.c tb_ring_rx() -> __tb_ring_enqueue()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 0 ring->nhi 4096-ptr_max
PARAM_VALUE 1 frame 4096-ptr_max
BUF_SIZE 0 ring (-1),360
BUF_SIZE 0 ring (-1),360
DATA_SOURCE 0 ring $0
DATA_SOURCE 1 frame $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->lock

drivers/thunderbolt/stream.c tb_ring_tx() -> __tb_ring_enqueue()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 0 ring->nhi 4096-ptr_max
PARAM_VALUE 1 frame 4096-ptr_max
PARAM_VALUE 1 frame->eof 2-3
DATA_SOURCE 0 ring $0
DATA_SOURCE 1 frame $1
HARD_MAX 1 frame->eof 3
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 frame->size 0-4095[c]
LOCK2 &sdev->lock
TYPE_LOCK (struct tbstream_dev)->lock

drivers/thunderbolt/dma_test.c tb_ring_rx() -> __tb_ring_enqueue()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 0 ring->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ring->nhi 4096-ptr_max
PARAM_VALUE 0 ring->nhi->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 frame 4096-ptr_max
PARAM_VALUE 1 frame->buffer_phy 0-18446744073709551614
PARAM_VALUE 1 frame->callback 4963808380726210560
PARAM_VALUE 1 frame->list.next 4096-ptr_max
PARAM_VALUE 1 frame->list.prev 4096-ptr_max
DATA_SOURCE 0 ring $0
DATA_SOURCE 1 frame $1
LOCK2 &attr->mutex
LOCK2 &dt->lock
TYPE_LOCK (struct dma_test)->lock
TYPE_LOCK (struct simple_attr)->mutex

drivers/thunderbolt/dma_test.c tb_ring_tx() -> __tb_ring_enqueue()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 0 ring->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ring->nhi 4096-ptr_max
PARAM_VALUE 0 ring->nhi->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ring->running 1
PARAM_VALUE 1 frame 4096-ptr_max
PARAM_VALUE 1 frame->buffer_phy 0-18446744073709551614
PARAM_VALUE 1 frame->callback 7333389187423313920
PARAM_VALUE 1 frame->eof 2
PARAM_VALUE 1 frame->list.next 4096-ptr_max
PARAM_VALUE 1 frame->list.prev 4096-ptr_max
PARAM_VALUE 1 frame->size 0
PARAM_VALUE 1 frame->sof 1
DATA_SOURCE 0 ring $0
DATA_SOURCE 1 frame $1
LOCK2 &attr->mutex
LOCK2 &dt->lock
TYPE_LOCK (struct dma_test)->lock
TYPE_LOCK (struct simple_attr)->mutex