Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 18 files:

Smatch caller information:

drivers/scsi/scsi_debug.c get_tag() -> blk_mq_unique_tag()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->state_mutex

drivers/scsi/scsi_debug.c scsi_debug_abort_cmnd() -> blk_mq_unique_tag()

Type Parameter Key Value
DATA_SOURCE 0 rq r scsi_cmd_to_rq
RX_PATH
TASK_NOT_RUNNING

drivers/scsi/scsi_debug.c scsi_debug_queuecommand() -> blk_mq_unique_tag()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->state_mutex

drivers/scsi/scsi_debug.c sdebug_blk_mq_poll_iter() -> blk_mq_unique_tag()

Type Parameter Key Value
PARAM_VALUE 0 rq 1-u64max
DATA_SOURCE 0 rq $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &khd->lock

drivers/scsi/scsi_debug.c sdebug_submit_queue_iter() -> blk_mq_unique_tag()

Type Parameter Key Value
PARAM_VALUE 0 rq 1-u64max
DATA_SOURCE 0 rq $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &khd->lock

drivers/scsi/mpt3sas/mpt3sas_base.c _base_get_msix_index() -> blk_mq_unique_tag()

Type Parameter Key Value

drivers/scsi/mpt3sas/mpt3sas_base.c mpt3sas_base_get_smid_scsiio() -> blk_mq_unique_tag()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->state_mutex

drivers/scsi/leapraid/leapraid_func.c leapraid_alloc_scsiio_taskid() -> blk_mq_unique_tag()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->state_mutex

drivers/scsi/leapraid/leapraid_func.c leapraid_get_msix_idx() -> blk_mq_unique_tag()

Type Parameter Key Value

drivers/scsi/hisi_sas/hisi_sas_main.c hisi_sas_queue_command() -> blk_mq_unique_tag()

Type Parameter Key Value
PARAM_VALUE 0 rq 1-u64max
DATA_SOURCE 0 rq r sas_task_find_rq
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->ex_dev.cmd_mutex
HALF_LOCKED2 ap->lock

drivers/scsi/lpfc/lpfc_scsi.c lpfc_get_scsi_buf_s4() -> blk_mq_unique_tag()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/scsi/storvsc_drv.c storvsc_next_request_id() -> blk_mq_unique_tag()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &outring_info->ring_lock
LOCK2 flags
TYPE_LOCK (struct hv_ring_buffer_info)->ring_lock

drivers/scsi/virtio_scsi.c virtscsi_pick_vq_mq() -> blk_mq_unique_tag()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->state_mutex

drivers/scsi/smartpqi/smartpqi_init.c pqi_alloc_io_request() -> blk_mq_unique_tag()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->state_mutex

drivers/scsi/smartpqi/smartpqi_init.c pqi_get_hw_queue() -> blk_mq_unique_tag()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->state_mutex

drivers/scsi/megaraid/megaraid_sas_fusion.c megasas_get_msix_index() -> blk_mq_unique_tag()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->state_mutex

drivers/scsi/pm8001/pm80xx_hwi.c pm80xx_chip_get_q_index() -> blk_mq_unique_tag()

Type Parameter Key Value
PARAM_VALUE 0 rq 1-u64max
DATA_SOURCE 0 rq r sas_task_find_rq
RX_PATH
TASK_NOT_RUNNING
LOCK2 &pm8001_ha->lock
LOCK2 flags
HALF_LOCKED2 &dev->ex_dev.cmd_mutex
HALF_LOCKED2 ap->lock
TYPE_LOCK (struct pm8001_hba_info)->lock

drivers/infiniband/ulp/srp/ib_srp.c srp_abort() -> blk_mq_unique_tag()

Type Parameter Key Value

drivers/infiniband/ulp/srp/ib_srp.c srp_queuecommand() -> blk_mq_unique_tag()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq r scsi_cmd_to_rq
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->state_mutex

drivers/infiniband/ulp/srp/ib_srp.c srp_terminate_cmd() -> blk_mq_unique_tag()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &khd->lock

drivers/scsi/qla2xxx/qla_os.c qla2xxx_queuecommand() -> blk_mq_unique_tag()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->state_mutex

drivers/scsi/fnic/fnic_scsi.c fnic_abort_cmd() -> blk_mq_unique_tag()

Type Parameter Key Value
DATA_SOURCE 0 rq r scsi_cmd_to_rq
PREEMPT_ADD <- disables preempt
LOCK2 &fnic->fnic_lock
LOCK2 flags
TYPE_LOCK (struct fnic)->fnic_lock

drivers/scsi/fnic/fnic_scsi.c fnic_abts_pending_iter() -> blk_mq_unique_tag()

Type Parameter Key Value
DATA_SOURCE 0 rq r scsi_cmd_to_rq
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &khd->lock

drivers/scsi/fnic/fnic_scsi.c fnic_cleanup_io_iter() -> blk_mq_unique_tag()

Type Parameter Key Value
DATA_SOURCE 0 rq r scsi_cmd_to_rq
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &khd->lock

drivers/scsi/fnic/fnic_scsi.c fnic_device_reset() -> blk_mq_unique_tag()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->tag 0-s32max
DATA_SOURCE 0 rq r scsi_cmd_to_rq

drivers/scsi/fnic/fnic_scsi.c fnic_pending_aborts_iter() -> blk_mq_unique_tag()

Type Parameter Key Value
DATA_SOURCE 0 rq r scsi_cmd_to_rq
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &khd->lock

drivers/scsi/fnic/fnic_scsi.c fnic_queuecommand() -> blk_mq_unique_tag()

Type Parameter Key Value
DATA_SOURCE 0 rq r scsi_cmd_to_rq
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->state_mutex

drivers/scsi/fnic/fnic_scsi.c fnic_rport_abort_io_iter() -> blk_mq_unique_tag()

Type Parameter Key Value
DATA_SOURCE 0 rq r scsi_cmd_to_rq
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &khd->lock

drivers/target/loopback/tcm_loop.c tcm_loop_abort_task() -> blk_mq_unique_tag()

Type Parameter Key Value

drivers/target/loopback/tcm_loop.c tcm_loop_queuecommand() -> blk_mq_unique_tag()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->state_mutex

drivers/block/nbd.c nbd_cmd_handle() -> blk_mq_unique_tag()

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
LOCK2 &cmd->lock
LOCK2 &nsock->tx_lock
TYPE_LOCK (struct nbd_cmd)->lock
TYPE_LOCK (struct nbd_sock)->tx_lock

drivers/scsi/mpi3mr/mpi3mr_os.c mpi3mr_host_tag_for_scmd() -> blk_mq_unique_tag()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->state_mutex