Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/scsi/mpt3sas/mpt3sas_scsih.c _scsih_block_io_to_children_attached_to_ex() -> __mpt3sas_get_sdev_by_addr()

Type Parameter Key Value
DATA_SOURCE 0 ioc $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 1 sas_address unit_array_size
LOCK2 flags
LOCK2 0 &ioc->sas_device_lock
HALF_LOCKED2 flags
HALF_LOCKED2 0 &ioc->sas_node_lock
TYPE_LOCK (struct MPT3SAS_ADAPTER)->sas_device_lock

drivers/scsi/mpt3sas/mpt3sas_scsih.c _scsih_check_device() -> __mpt3sas_get_sdev_by_addr()

Type Parameter Key Value
PARAM_VALUE 0 ioc 4096-ptr_max
PARAM_VALUE 0 ioc->base_cmds.done.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 ioc->config_cmds.mutex.dep_map->name 0-255
PARAM_VALUE 0 ioc->config_cmds.mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ioc->config_cmds.mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 ioc->config_cmds.mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 ioc->config_cmds.mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 ioc->config_cmds.mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 ioc->config_cmds.mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 ioc->config_cmds.mutex.first_waiter->task->blocked_on (-1)-0
PARAM_VALUE 0 ioc->config_cmds.mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 ioc->ctl_cmds.done.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 ioc->fw_event_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ioc->hostdiag_unlock_mutex.dep_map->name 0-255
PARAM_VALUE 0 ioc->hostdiag_unlock_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 ioc->pcie_device_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ioc->pdev->dev.dma_mem->spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ioc->pdev->dev.iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 ioc->port_enable_cmds.done.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 ioc->reset_in_progress_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 ioc->reset_in_progress_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 ioc->reset_in_progress_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 ioc->reset_in_progress_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 ioc->sas_node_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ioc->scsih_cmds.done.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 ioc->tm_cmds.done.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 ioc->transport_cmds.done.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 *ioc->diag_buffer_status 0-255
PARAM_VALUE 0 *ioc->manu_pg0.ChipName 0-255
PARAM_VALUE 2 port 4096-ptr_max
BUF_SIZE 2 port (-1),56
BUF_SIZE 2 port (-1),56
CAPPED_DATA 2 port->port_id 1
DATA_SOURCE 0 ioc $0
DATA_SOURCE 2 port r mpt3sas_get_port_by_id
PREEMPT_ADD <- disables preempt
LOCK2 flags
LOCK2 0 &ioc->sas_device_lock
TYPE_LOCK (struct MPT3SAS_ADAPTER)->sas_device_lock

drivers/scsi/mpt3sas/mpt3sas_scsih.c _scsih_sas_device_status_change_event() -> __mpt3sas_get_sdev_by_addr()

Type Parameter Key Value
PARAM_VALUE 0 ioc 4096-ptr_max
PARAM_VALUE 0 ioc->diag_trigger_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ioc->pci_error_recovery 0
PARAM_VALUE 2 port 0,4096-ptr_max
BUF_SIZE 2 port (-1),56
DATA_SOURCE 0 ioc $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 1 sas_address unit_array_size
LOCK2 flags
LOCK2 0 &ioc->sas_device_lock
HALF_LOCKED2 &ioc->tm_cmds.mutex
TYPE_LOCK (struct MPT3SAS_ADAPTER)->sas_device_lock

drivers/scsi/mpt3sas/mpt3sas_scsih.c mpt3sas_device_remove_by_sas_address() -> __mpt3sas_get_sdev_by_addr()

Type Parameter Key Value
PARAM_VALUE 0 ioc 4096-ptr_max
PARAM_VALUE 0 ioc->firmware_event_thread->flags 0-4294967295
PARAM_VALUE 0 ioc->pdev->dev.cma_area->available_count 0-s64max
PARAM_VALUE 0 ioc->pdev->dev.cma_area->nranges s32min-s32max
PARAM_VALUE 0 ioc->pdev->dev.dma_io_tlb_mem->for_alloc 0-1
PARAM_VALUE 0 ioc->pdev->dev.msi.data->__iter_idx 0-s64max
PARAM_VALUE 0 ioc->shost->shost_gendev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ioc->shost_recovery 0
PARAM_VALUE 0 *ioc->diag_buffer_sz 0-4294967295
PARAM_VALUE 0 *ioc->diagnostic_flags 0-4294967295
PARAM_VALUE 0 *ioc->pdev->saved_config_space 0-4294967295
PARAM_VALUE 0 *ioc->unique_id 0-4294967295
BUF_SIZE 0 ioc->pdev (-1),1-s32max
BUF_SIZE 0 ioc->sas_hba.parent_dev (-1),1616
BUF_SIZE 0 ioc->schedule_dead_ioc_flush_running_cmds (-1),8
DATA_SOURCE 0 ioc $0
DATA_SOURCE 1 sas_address $1
DATA_SOURCE 2 port $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 ioc->pdev->current_state 0-3[c]
NO_OVERFLOW_SIMPLE 0 ioc->combined_reply_index_count
NO_OVERFLOW_SIMPLE 0 ioc->io_uring_poll_queues
NO_OVERFLOW_SIMPLE 0 ioc->pdev->dev.cma_area->available_count
NO_OVERFLOW_SIMPLE 0 ioc->pdev->msix_base
NO_OVERFLOW_SIMPLE 0 ioc->sas_hba.nr_phys_allocated
NO_OVERFLOW_SIMPLE 0 ioc->sas_hba.num_phys
UNITS 1 sas_address unit_array_size
LOCK2 flags
LOCK2 0 &ioc->sas_device_lock
HALF_LOCKED2 0 &ioc->base_cmds.mutex
HALF_LOCKED2 0 &ioc->ctl_cmds.mutex
HALF_LOCKED2 0 &ioc->pci_access_mutex
HALF_LOCKED2 0 &ioc->reset_in_progress_mutex
HALF_LOCKED2 0 &ioc->scsih_cmds.mutex
HALF_LOCKED2 0 &ioc->tm_cmds.mutex
HALF_LOCKED2 0 &ioc->transport_cmds.mutex
TYPE_LOCK (struct MPT3SAS_ADAPTER)->sas_device_lock

drivers/scsi/mpt3sas/mpt3sas_scsih.c mpt3sas_get_sdev_by_addr() -> __mpt3sas_get_sdev_by_addr()

Type Parameter Key Value
PARAM_VALUE 0 ioc 4096-ptr_max
PARAM_VALUE 0 ioc->pdev->dev.cma_area->available_count 0-s64max
PARAM_VALUE 0 ioc->pdev->dev.cma_area->nranges s32min-s32max
PARAM_VALUE 0 ioc->pdev->dev.dma_io_tlb_mem->for_alloc 0-1
PARAM_VALUE 0 ioc->pdev->dev.msi.data->__iter_idx 0-s64max
PARAM_VALUE 0 ioc->shost->shost_gendev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 *ioc->diag_buffer_sz 0-4294967295
PARAM_VALUE 0 *ioc->diagnostic_flags 0-4294967295
PARAM_VALUE 0 *ioc->pdev->saved_config_space 0-4294967295
PARAM_VALUE 0 *ioc->unique_id 0-4294967295
BUF_SIZE 0 ioc->pdev (-1),1-s32max
BUF_SIZE 0 ioc->sas_hba.parent_dev (-1),1616
BUF_SIZE 0 ioc->schedule_dead_ioc_flush_running_cmds (-1),8
BUF_SIZE 2 port (-1),56
BUF_SIZE 2 port (-1),56
DATA_SOURCE 0 ioc $0
DATA_SOURCE 1 sas_address $1
DATA_SOURCE 2 port $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 ioc->pdev->current_state 0-3[c]
NO_OVERFLOW_SIMPLE 0 ioc->combined_reply_index_count
NO_OVERFLOW_SIMPLE 0 ioc->pdev->dev.cma_area->available_count
NO_OVERFLOW_SIMPLE 0 ioc->pdev->msix_base
NO_OVERFLOW_SIMPLE 0 ioc->sas_hba.nr_phys_allocated
NO_OVERFLOW_SIMPLE 0 ioc->sas_hba.num_phys
UNITS 1 sas_address unit_array_size
LOCK2 flags
LOCK2 0 &ioc->sas_device_lock
HALF_LOCKED2 0 &ioc->base_cmds.mutex
HALF_LOCKED2 0 &ioc->ctl_cmds.mutex
HALF_LOCKED2 0 &ioc->pci_access_mutex
HALF_LOCKED2 0 &ioc->reset_in_progress_mutex
HALF_LOCKED2 0 &ioc->scsih_cmds.mutex
HALF_LOCKED2 0 &ioc->tm_cmds.mutex
HALF_LOCKED2 0 &ioc->transport_cmds.mutex
TYPE_LOCK (struct MPT3SAS_ADAPTER)->sas_device_lock

drivers/scsi/mpt3sas/mpt3sas_scsih.c scsih_sdev_configure() -> __mpt3sas_get_sdev_by_addr()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 1 sas_address unit_array_size
LOCK2 &sdev->request_queue->limits_lock
LOCK2 &shost->scan_mutex
LOCK2 flags
LOCK2 0 &ioc->sas_device_lock
TYPE_LOCK (struct MPT3SAS_ADAPTER)->sas_device_lock
TYPE_LOCK (struct Scsi_Host)->scan_mutex
TYPE_LOCK (struct request_queue)->limits_lock

drivers/scsi/mpt3sas/mpt3sas_scsih.c scsih_sdev_init() -> __mpt3sas_get_sdev_by_addr()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 1 sas_address unit_array_size
LOCK2 &shost->scan_mutex
LOCK2 flags
LOCK2 0 &ioc->sas_device_lock
TYPE_LOCK (struct MPT3SAS_ADAPTER)->sas_device_lock
TYPE_LOCK (struct Scsi_Host)->scan_mutex