Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/dma/dmaengine.c dma_run_dependencies() -> txd_unlock()

Type Parameter Key Value
PARAM_VALUE 0 txd 4096-ptr_max
PARAM_VALUE 0 txd->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 txd->next 0,4096-ptr_max
PARAM_VALUE 0 txd->parent 0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &txd->lock
HALF_LOCKED2 &chan->lock
HALF_LOCKED2 &mv_chan->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct dma_async_tx_descriptor)->lock

crypto/async_tx/async_tx.c async_tx_channel_switch() -> txd_unlock()

Type Parameter Key Value
PARAM_VALUE 0 txd 4096-ptr_max
PARAM_VALUE 0 txd->chan 4096-ptr_max
PARAM_VALUE 0 txd->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 txd->next 0,4096-ptr_max
PARAM_VALUE 0 txd->next->parent 0
BUF_SIZE 0 txd (-1)-0,176
BUF_SIZE 0 txd (-1)-0,176
CAPPED_DATA 0 txd->chan 1
DATA_SOURCE 0 txd $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &txd->lock
TYPE_LOCK (struct dma_async_tx_descriptor)->lock

crypto/async_tx/async_tx.c async_tx_channel_switch() -> txd_unlock()

Type Parameter Key Value
PARAM_VALUE 0 txd 4096-ptr_max
PARAM_VALUE 0 txd->chan 4096-ptr_max
PARAM_VALUE 0 txd->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 txd->next 0
BUF_SIZE 0 txd (-1)-0,176
BUF_SIZE 0 txd (-1)-0,176
CAPPED_DATA 0 txd->chan 1
DATA_SOURCE 0 txd $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &txd->lock
HALF_LOCKED2 &ioat_chan->prep_lock
TYPE_LOCK (struct dma_async_tx_descriptor)->lock

crypto/async_tx/async_tx.c async_tx_submit() -> txd_unlock()

Type Parameter Key Value
PARAM_VALUE 0 txd 4096-ptr_max
PARAM_VALUE 0 txd->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 txd->next 0,4096-ptr_max
PARAM_VALUE 0 txd->next->parent 0
BUF_SIZE 0 txd (-1),176
BUF_SIZE 0 txd (-1),176
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &txd->lock
TYPE_LOCK (struct dma_async_tx_descriptor)->lock