Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/scsi/smartpqi/smartpqi_init.c pqi_device_reset_handler() -> pqi_check_ctrl_health()

Type Parameter Key Value
PARAM_VALUE 0 ctrl_info 4096-ptr_max
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.dep_map->name 0-255
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 ctrl_info->pci_dev->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 ctrl_info->pci_dev->dev.class 0,4096-ptr_max
PARAM_VALUE 0 ctrl_info->pci_dev->dev.driver 0,4096-ptr_max
PARAM_VALUE 0 ctrl_info->scsi_device_list_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ctrl_info->scsi_host 4096-ptr_max
CAPPED_DATA 0 &ctrl_info->lun_reset_mutex 1
DATA_SOURCE 0 ctrl_info $0
NOCHECK_CALL
LOCK2 0 &ctrl_info->lun_reset_mutex
TYPE_LOCK (struct pqi_ctrl_info)->lun_reset_mutex

drivers/scsi/smartpqi/smartpqi_init.c pqi_device_wait_for_pending_io() -> pqi_check_ctrl_health()

Type Parameter Key Value
PARAM_VALUE 0 ctrl_info 4096-ptr_max
PARAM_VALUE 0 ctrl_info->ctrl_removal_state 0,2-u32max
PARAM_VALUE 0 ctrl_info->pci_dev->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 ctrl_info->pci_dev->dev.cma_area->nranges s32min-s32max
PARAM_VALUE 0 ctrl_info->pci_dev->dev.msi.data->__iter_idx 0-s64max
PARAM_VALUE 0 ctrl_info->scsi_device_list_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ctrl_info->scsi_host 4096-ptr_max
PARAM_VALUE 0 ctrl_info->sync_request_sem.first_waiter->up 0-1
BUF_SIZE 0 ctrl_info s32min-(-1),1-s32max
BUF_SIZE 0 ctrl_info s32min-(-1),1-s32max
DATA_SOURCE 0 ctrl_info $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 ctrl_info->previous_heartbeat_count 0-u32max
NO_OVERFLOW_SIMPLE 0 ctrl_info->max_io_slots
UNITS 0 ctrl_info unit_byte
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &ctrl_info->lun_reset_mutex
HALF_LOCKED2 0 &ctrl_info->scan_mutex

drivers/scsi/smartpqi/smartpqi_init.c pqi_heartbeat_timer_handler() -> pqi_check_ctrl_health()

Type Parameter Key Value
PARAM_VALUE 0 ctrl_info 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/scsi/smartpqi/smartpqi_init.c pqi_wait_for_completion_io() -> pqi_check_ctrl_health()

Type Parameter Key Value
PARAM_VALUE 0 ctrl_info 4096-ptr_max
PARAM_VALUE 0 ctrl_info->controller_online 1
PARAM_VALUE 0 ctrl_info->pci_dev->dev.cma_area->nranges s32min-s32max
PARAM_VALUE 0 ctrl_info->pci_dev->dev.dma_io_tlb_mem->can_grow 0-1
PARAM_VALUE 0 ctrl_info->pci_dev->dev.msi.data->__iter_idx 0-s64max
PARAM_VALUE 0 ctrl_info->queue_groups 4096-ptr_max
PARAM_VALUE 0 ctrl_info->sync_request_sem.first_waiter->list.next 5349227543279349760
PARAM_VALUE 0 ctrl_info->sync_request_sem.first_waiter->list.prev 5349227543279349760
PARAM_VALUE 0 ctrl_info->sync_request_sem.first_waiter->list.prev->next 5349227543279349760
PARAM_VALUE 0 ctrl_info->sync_request_sem.lock.dep_map->name 0-255
PARAM_VALUE 0 ctrl_info->sync_request_sem.lock.owner (-1)
PARAM_VALUE 0 ctrl_info->sync_request_sem.lock.owner_cpu u32max
PARAM_VALUE 0 *ctrl_info->pci_dev->saved_config_space 0-4294967295
BUF_SIZE 0 ctrl_info s32min-(-1),1-s32max
BUF_SIZE 0 ctrl_info s32min-(-1),1-s32max
BUF_SIZE 0 ctrl_info->pci_dev (-1),1-s32max
DATA_SOURCE 0 ctrl_info $0
STR_LEN 0 ctrl_info (-1),8
STR_LEN 0 ctrl_info (-1),8
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 ctrl_info->num_queue_groups 1[c]
HOST_DATA 0 ctrl_info->pci_dev->current_state 0-3[c]
HOST_DATA 0 ctrl_info->previous_heartbeat_count 0-u32max
HOST_DATA 0 ctrl_info->product_id 0-255
HOST_DATA 0 ctrl_info->product_revision 0-255
HOST_DATA 0 ctrl_info->scsi_host->nr_hw_queues 1[c]
NO_OVERFLOW_SIMPLE 0 ctrl_info->admin_queue_memory_length
NO_OVERFLOW_SIMPLE 0 ctrl_info->error_buffer_length
NO_OVERFLOW_SIMPLE 0 ctrl_info->max_io_slots
NO_OVERFLOW_SIMPLE 0 ctrl_info->queue_memory_length
UNITS 0 ctrl_info unit_byte
LOCK2 0 &ctrl_info->sync_request_sem
HALF_LOCKED2 global &pqi_firmware_features_mutex
HALF_LOCKED2 0 &ctrl_info->lun_reset_mutex
HALF_LOCKED2 0 &ctrl_info->ofa_mutex
HALF_LOCKED2 0 &ctrl_info->scan_mutex
TYPE_LOCK (struct pqi_ctrl_info)->sync_request_sem

drivers/scsi/smartpqi/smartpqi_init.c pqi_wait_for_lun_reset_completion() -> pqi_check_ctrl_health()

Type Parameter Key Value
PARAM_VALUE 0 ctrl_info 4096-ptr_max
PARAM_VALUE 0 ctrl_info->block_requests 0
PARAM_VALUE 0 ctrl_info->controller_online 0
PARAM_VALUE 0 ctrl_info->ctrl_offline_work.entry.next 4096-ptr_max
PARAM_VALUE 0 ctrl_info->ctrl_offline_work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.dep_map->name 0-255
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 ctrl_info->pci_dev->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 ctrl_info->pci_dev->dev.class 0,4096-ptr_max
PARAM_VALUE 0 ctrl_info->pci_dev->dev.driver 0,4096-ptr_max
PARAM_VALUE 0 ctrl_info->pci_dev->is_busmaster 0
PARAM_VALUE 0 ctrl_info->pci_dev->is_virtfn 0
PARAM_VALUE 0 ctrl_info->pqi_mode_enabled 0
PARAM_VALUE 0 ctrl_info->queue_groups 4096-ptr_max
PARAM_VALUE 0 ctrl_info->scsi_device_list_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ctrl_info->scsi_host 4096-ptr_max
CAPPED_DATA 0 ctrl_info->num_queue_groups 1
DATA_SOURCE 0 ctrl_info $0
NOCHECK_CALL
LOCK2 0 &ctrl_info->lun_reset_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pqi_ctrl_info)->lun_reset_mutex

drivers/scsi/smartpqi/smartpqi_init.c pqi_wait_until_inbound_queues_empty() -> pqi_check_ctrl_health()

Type Parameter Key Value
PARAM_VALUE 0 ctrl_info 4096-ptr_max
PARAM_VALUE 0 ctrl_info->block_requests 1
PARAM_VALUE 0 ctrl_info->controller_online 0
PARAM_VALUE 0 ctrl_info->ctrl_offline_work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.dep_map->name 0-255
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 ctrl_info->lun_reset_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 ctrl_info->pci_dev->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 ctrl_info->pci_dev->dev.class 0,4096-ptr_max
PARAM_VALUE 0 ctrl_info->pci_dev->dev.driver 0,4096-ptr_max
PARAM_VALUE 0 ctrl_info->pci_dev->is_busmaster 0
PARAM_VALUE 0 ctrl_info->pci_dev->is_virtfn 0
PARAM_VALUE 0 ctrl_info->pqi_mode_enabled 0
PARAM_VALUE 0 ctrl_info->scsi_device_list_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ctrl_info->scsi_host 4096-ptr_max
CAPPED_DATA 0 ctrl_info->num_queue_groups 1
DATA_SOURCE 0 ctrl_info $0
NOCHECK_CALL
LOCK2 0 &ctrl_info->lun_reset_mutex
TYPE_LOCK (struct pqi_ctrl_info)->lun_reset_mutex