Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 18 files:

Smatch caller information:

drivers/md/dm-rq.c dm_complete_request() -> blk_mq_complete_request()

Type Parameter Key Value
DATA_SOURCE 0 rq $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/block/zloop.c zloop_handle_cmd() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->q 4096-ptr_max
DATA_SOURCE 0 rq r blk_mq_rq_from_pdu
BIT_INFO 0 rq->cmd_flags 0x0,0xffdfffff
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/block/zloop.c zloop_put_cmd() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq r blk_mq_rq_from_pdu
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/mmc/core/block.c mmc_blk_cqe_req_done() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->q 4096-ptr_max
DATA_SOURCE 0 rq r mmc_queue_req_to_req
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &host->mmc_serializer

drivers/mmc/core/block.c mmc_blk_hsq_req_done() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->q 4096-ptr_max
DATA_SOURCE 0 rq r mmc_queue_req_to_req
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &host->mmc_serializer

drivers/mmc/core/block.c mmc_blk_mq_post_req() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->q 4096-ptr_max
DATA_SOURCE 0 rq $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &host->mmc_serializer

drivers/scsi/scsi_lib.c scsi_done_internal() -> blk_mq_complete_request()

Type Parameter Key Value
DATA_SOURCE 0 rq r scsi_cmd_to_rq
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 adapter->scsi_host->host_lock
HALF_LOCKED2 irq
HALF_LOCKED2 irq_flags
HALF_LOCKED2 shost->host_lock

drivers/block/rnbd/rnbd-clt.c msg_io_conf() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
NOCHECK_CALL

drivers/nvme/host/core.c nvme_cancel_request() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->ref.counter 0-s32max
PARAM_VALUE 0 rq->state 1
DATA_SOURCE 0 rq $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &khd->lock

drivers/block/loop.c lo_rw_aio_do_completion() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq r blk_mq_rq_from_pdu
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/block/loop.c loop_handle_cmd() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->q->queuedata 4096-ptr_max
DATA_SOURCE 0 rq r blk_mq_rq_from_pdu
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/nvme/host/rdma.c nvmf_complete_timed_out_request() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->q->mq_ops 4096-ptr_max
PARAM_VALUE 0 rq->q->mq_ops->timeout 1-u64max
PARAM_VALUE 0 rq->ref.counter 0-s32max
PARAM_VALUE 0 rq->rq_flags 0,16384-u32max
PARAM_VALUE 0 rq->state 1
CAPPED_DATA 0 rq->q 1
CAPPED_DATA 0 rq->tag 1
DATA_SOURCE 0 rq $0
BIT_INFO 0 rq->rq_flags 0x4000,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &khd->lock

drivers/block/null_blk/main.c null_timeout_rq() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->mq_hctx 4096-ptr_max
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->q->mq_ops 4096-ptr_max
PARAM_VALUE 0 rq->q->mq_ops->timeout 1-u64max
PARAM_VALUE 0 rq->ref.counter 0-s32max
PARAM_VALUE 0 rq->rq_flags 0,16384-u32max
PARAM_VALUE 0 rq->state 1
CAPPED_DATA 0 rq->q 1
CAPPED_DATA 0 rq->tag 1
DATA_SOURCE 0 rq $0
BIT_INFO 0 rq->rq_flags 0x4000,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &khd->lock

drivers/block/null_blk/main.c nullb_complete_cmd() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq r blk_mq_rq_from_pdu
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

drivers/nvme/host/apple.c apple_nvme_timeout() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->q->mq_ops 4096-ptr_max
PARAM_VALUE 0 rq->q->mq_ops->timeout 1-u64max
PARAM_VALUE 0 rq->ref.counter 0-s32max
PARAM_VALUE 0 rq->rq_flags 0,16384-u32max
PARAM_VALUE 0 rq->state 1
CAPPED_DATA 0 rq->q 1
CAPPED_DATA 0 rq->tag 1
DATA_SOURCE 0 rq $0
BIT_INFO 0 rq->rq_flags 0x4000,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &khd->lock

drivers/block/virtio_blk.c virtblk_done() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq r blk_mq_rq_from_pdu
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 &vp_dev->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq

drivers/nvme/host/tcp.c nvmf_complete_timed_out_request() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->q->mq_ops 4096-ptr_max
PARAM_VALUE 0 rq->q->mq_ops->timeout 1-u64max
PARAM_VALUE 0 rq->ref.counter 0-s32max
PARAM_VALUE 0 rq->rq_flags 0,16384-u32max
PARAM_VALUE 0 rq->state 1
CAPPED_DATA 0 rq->q 1
CAPPED_DATA 0 rq->tag 1
DATA_SOURCE 0 rq $0
BIT_INFO 0 rq->rq_flags 0x4000,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &khd->lock

drivers/block/mtip32xx/mtip32xx.c mtip_cmd_timeout() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->q->mq_ops 4096-ptr_max
PARAM_VALUE 0 rq->q->mq_ops->timeout 1-u64max
PARAM_VALUE 0 rq->ref.counter 0-s32max
PARAM_VALUE 0 rq->rq_flags 0,16384-u32max
PARAM_VALUE 0 rq->state 1
CAPPED_DATA 0 rq->q 1
CAPPED_DATA 0 rq->tag 1
DATA_SOURCE 0 rq $0
BIT_INFO 0 rq->rq_flags 0x4000,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &khd->lock

drivers/block/mtip32xx/mtip32xx.c mtip_complete_command() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq r blk_mq_rq_from_pdu
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/block/nbd.c nbd_clear_req() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->ref.counter 0-s32max
PARAM_VALUE 0 rq->state 0-1,3-u32max
DATA_SOURCE 0 rq $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &khd->lock

drivers/block/nbd.c nbd_pending_cmd_work() -> blk_mq_complete_request()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 &cmd->lock
LOCK2 &nsock->tx_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct nbd_cmd)->lock
TYPE_LOCK (struct nbd_sock)->tx_lock

drivers/block/nbd.c nbd_xmit_timeout() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->q->mq_ops 4096-ptr_max
PARAM_VALUE 0 rq->q->mq_ops->timeout 1-u64max
PARAM_VALUE 0 rq->ref.counter 0-s32max
PARAM_VALUE 0 rq->rq_flags 0,16384-u32max
PARAM_VALUE 0 rq->state 1
CAPPED_DATA 0 rq->q 1
CAPPED_DATA 0 rq->tag 1
DATA_SOURCE 0 rq $0
BIT_INFO 0 rq->rq_flags 0x4000,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &khd->lock

drivers/block/nbd.c recv_work() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq r blk_mq_rq_from_pdu
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

block/bsg-lib.c bsg_job_done() -> blk_mq_complete_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq r blk_mq_rq_from_pdu
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &lport->lp_mutex