Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/scsi/smartpqi/smartpqi_init.c pqi_big_passthru_ioctl() -> pqi_ctrl_offline()

Type Parameter Key Value
DATA_SOURCE 0 ctrl_info $0
HALF_LOCKED2 &cd->lock

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

Type Parameter Key Value
PARAM_VALUE 0 ctrl_info 4096-ptr_max
PARAM_VALUE 0 ctrl_info->controller_online 0
CAPPED_DATA 0 &ctrl_info->lun_reset_mutex 1
DATA_SOURCE 0 ctrl_info $0
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_ctrl_offline()

Type Parameter Key Value
PARAM_VALUE 0 ctrl_info 4096-ptr_max
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
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_event_worker() -> pqi_ctrl_offline()

Type Parameter Key Value
PARAM_VALUE 0 ctrl_info 4096-ptr_max
HALF_LOCKED2 &pool->lock

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

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

drivers/scsi/smartpqi/smartpqi_init.c pqi_lunid_show() -> pqi_ctrl_offline()

Type Parameter Key Value
DATA_SOURCE 0 ctrl_info r shost_to_hba
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/scsi/smartpqi/smartpqi_init.c pqi_passthru_ioctl() -> pqi_ctrl_offline()

Type Parameter Key Value
DATA_SOURCE 0 ctrl_info $0
HALF_LOCKED2 &cd->lock

drivers/scsi/smartpqi/smartpqi_init.c pqi_path_info_show() -> pqi_ctrl_offline()

Type Parameter Key Value
DATA_SOURCE 0 ctrl_info r shost_to_hba
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/scsi/smartpqi/smartpqi_init.c pqi_raid_bypass_cnt_show() -> pqi_ctrl_offline()

Type Parameter Key Value
DATA_SOURCE 0 ctrl_info r shost_to_hba
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/scsi/smartpqi/smartpqi_init.c pqi_raid_bypass_retry_needed() -> pqi_ctrl_offline()

Type Parameter Key Value
DATA_SOURCE 0 ctrl_info r shost_to_hba
RX_PATH
TASK_NOT_RUNNING

drivers/scsi/smartpqi/smartpqi_init.c pqi_raid_level_show() -> pqi_ctrl_offline()

Type Parameter Key Value
DATA_SOURCE 0 ctrl_info r shost_to_hba
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/scsi/smartpqi/smartpqi_init.c pqi_sas_address_show() -> pqi_ctrl_offline()

Type Parameter Key Value
DATA_SOURCE 0 ctrl_info r shost_to_hba
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/scsi/smartpqi/smartpqi_init.c pqi_sas_ncq_prio_enable_show() -> pqi_ctrl_offline()

Type Parameter Key Value
DATA_SOURCE 0 ctrl_info r shost_to_hba
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/scsi/smartpqi/smartpqi_init.c pqi_scan_scsi_devices() -> pqi_ctrl_offline()

Type Parameter Key Value
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),16,24,40,56,108-1096,1384,1600,1616,1752,2072,2576,7472,8064
DATA_SOURCE 0 ctrl_info $0
RX_PATH
TASK_NOT_RUNNING
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->max_io_slots
UNITS 0 ctrl_info unit_byte
HALF_LOCKED2 0 &ctrl_info->lun_reset_mutex
HALF_LOCKED2 0 &ctrl_info->scan_mutex

drivers/scsi/smartpqi/smartpqi_init.c pqi_schedule_rescan_worker_with_delay() -> pqi_ctrl_offline()

Type Parameter Key Value
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
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 0 &ctrl_info->lun_reset_mutex
HALF_LOCKED2 0 &ctrl_info->scan_mutex

drivers/scsi/smartpqi/smartpqi_init.c pqi_scsi_queue_command() -> pqi_ctrl_offline()

Type Parameter Key Value
DATA_SOURCE 0 ctrl_info r shost_to_hba
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->state_mutex

drivers/scsi/smartpqi/smartpqi_init.c pqi_send_event_ack() -> pqi_ctrl_offline()

Type Parameter Key Value
PARAM_VALUE 0 ctrl_info 4096-ptr_max
DATA_SOURCE 0 ctrl_info $0
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_ssd_smart_path_enabled_show() -> pqi_ctrl_offline()

Type Parameter Key Value
DATA_SOURCE 0 ctrl_info r shost_to_hba
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/scsi/smartpqi/smartpqi_init.c pqi_submit_raid_request_synchronous() -> pqi_ctrl_offline()

Type Parameter Key Value
PARAM_VALUE 0 ctrl_info 4096-ptr_max
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
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->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_unique_id_show() -> pqi_ctrl_offline()

Type Parameter Key Value
DATA_SOURCE 0 ctrl_info r shost_to_hba
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

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

Type Parameter Key Value
PARAM_VALUE 0 ctrl_info 4096-ptr_max
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
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_ctrl_offline()

Type Parameter Key Value
PARAM_VALUE 0 ctrl_info 4096-ptr_max
PARAM_VALUE 0 ctrl_info->controller_online 0
CAPPED_DATA 0 ctrl_info->num_queue_groups 1
DATA_SOURCE 0 ctrl_info $0
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_ctrl_offline()

Type Parameter Key Value
PARAM_VALUE 0 ctrl_info 4096-ptr_max
PARAM_VALUE 0 ctrl_info->controller_online 0
CAPPED_DATA 0 ctrl_info->num_queue_groups 1
DATA_SOURCE 0 ctrl_info $0
LOCK2 0 &ctrl_info->lun_reset_mutex
TYPE_LOCK (struct pqi_ctrl_info)->lun_reset_mutex

drivers/scsi/smartpqi/smartpqi_init.c pqi_write_stream_cnt_show() -> pqi_ctrl_offline()

Type Parameter Key Value
DATA_SOURCE 0 ctrl_info r shost_to_hba
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex