Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/dma/bcm-sba-raid.c sba_cleanup_nonpending_requests() -> _sba_free_request()

Type Parameter Key Value
PARAM_VALUE 0 sba 4096-ptr_max
PARAM_VALUE 1 req 4096-ptr_max
CAPPED_DATA 0 &sba->reqs_alloc_list 1
CAPPED_DATA 1 &req->node 1
DATA_SOURCE 0 sba $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &sba->reqs_lock
HALF_LOCKED2 global &dma_list_mutex
TYPE_LOCK (struct sba_device)->reqs_lock

drivers/dma/bcm-sba-raid.c sba_cleanup_pending_requests() -> _sba_free_request()

Type Parameter Key Value
PARAM_VALUE 0 sba 4096-ptr_max
PARAM_VALUE 1 req 4096-ptr_max
CAPPED_DATA 0 &sba->reqs_pending_list 1
CAPPED_DATA 1 &req->node 1
DATA_SOURCE 0 sba $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &sba->reqs_lock
HALF_LOCKED2 &controller->io_mutex
HALF_LOCKED2 &ctlr->io_mutex
HALF_LOCKED2 &dma->lock
HALF_LOCKED2 &dmm->wa_lock
HALF_LOCKED2 &epf_mhi->lock
HALF_LOCKED2 &host->io_mutex
HALF_LOCKED2 &host->lock
HALF_LOCKED2 &host->thread_lock
HALF_LOCKED2 &mem->spi->controller->bus_lock_mutex
HALF_LOCKED2 &mem->spi->controller->io_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &ospi->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &priv->lock
HALF_LOCKED2 &qspi->list_lock
HALF_LOCKED2 &qspi->lock
HALF_LOCKED2 &sdr->v4l2_mutex
HALF_LOCKED2 &sp->mutex
HALF_LOCKED2 &spi->io_mutex
HALF_LOCKED2 &spi->mutex_lock
HALF_LOCKED2 &state->uart_port->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct sba_device)->reqs_lock

drivers/dma/bcm-sba-raid.c sba_free_chained_requests() -> _sba_free_request()

Type Parameter Key Value
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 1 req->first 4096-ptr_max
PARAM_VALUE 1 req->flags 2,258
PARAM_VALUE 1 req->msg.ctx 4096-ptr_max
PARAM_VALUE 1 req->msg.error 0
PARAM_VALUE 1 req->msg.type 3
PARAM_VALUE 1 req->next.next 4096-ptr_max
PARAM_VALUE 1 req->next.prev 4096-ptr_max
PARAM_VALUE 1 req->node.next 4096-ptr_max
PARAM_VALUE 1 req->tx.chan 4096-ptr_max
PARAM_VALUE 1 req->tx.cookie (-16)
PARAM_VALUE 1 req->tx.flags 0-158
DATA_SOURCE 1 req $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &sba->reqs_lock
TYPE_LOCK (struct sba_device)->reqs_lock

drivers/dma/bcm-sba-raid.c sba_free_chained_requests() -> _sba_free_request()

Type Parameter Key Value
PARAM_VALUE 0 sba 4096-ptr_max
PARAM_VALUE 0 sba->reqs_fence 0
PARAM_VALUE 0 sba->reqs_free_list.prev 4096-ptr_max
PARAM_VALUE 0 sba->reqs_free_list.prev->next 4096-ptr_max
PARAM_VALUE 0 sba->reqs_free_list.prev->next->next 4096-ptr_max
PARAM_VALUE 1 req 4096-ptr_max
CAPPED_DATA 1 &req->next 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &sba->reqs_lock
TYPE_LOCK (struct sba_device)->reqs_lock

drivers/dma/bcm-sba-raid.c sba_process_received_request() -> _sba_free_request()

Type Parameter Key Value
PARAM_VALUE 1 req 4096-ptr_max
CAPPED_DATA 1 &req->next 1
DATA_SOURCE 0 sba $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &sba->reqs_lock
HALF_LOCKED2 &chan->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &thread->chan->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct sba_device)->reqs_lock

drivers/dma/bcm-sba-raid.c sba_process_received_request() -> _sba_free_request()

Type Parameter Key Value
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 1 req->next.next 4096-ptr_max
PARAM_VALUE 1 req->next.next->next 4096-ptr_max
PARAM_VALUE 1 req->next.prev 4096-ptr_max
PARAM_VALUE 1 req->next.prev->next 4096-ptr_max
PARAM_VALUE 1 req->next.prev->prev 4096-ptr_max
PARAM_VALUE 1 req->tx.cookie s32min-0
PARAM_VALUE 1 req->tx.next 0
PARAM_VALUE 1 req->tx.next->lock.rlock.dep_map->name 0-255
CAPPED_DATA 1 &req->next 1
DATA_SOURCE 0 sba $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &sba->reqs_lock
HALF_LOCKED2 &chan->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &thread->chan->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct sba_device)->reqs_lock