Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/scsi/mpt3sas/mpt3sas_scsih.c _scsih_error_recovery_delete_devices() -> fw_event_work_put()

Type Parameter Key Value
PARAM_VALUE 0 fw_work 4096-ptr_max
PARAM_VALUE 0 fw_work->event u16max
PARAM_VALUE 0 fw_work->ioc 4096-ptr_max
BUF_SIZE 0 fw_work 320
CAPPED_DATA 0 fw_work->ioc->hi_priority_depth 1
CAPPED_DATA 0 fw_work->ioc->internal_depth 1
CAPPED_DATA 0 fw_work->ioc->reply_free_queue_depth 1
DATA_SOURCE 0 fw_work r alloc_fw_event_work
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 fw_work->ioc->combined_reply_index_count
NO_OVERFLOW_SIMPLE 0 fw_work->ioc->sas_hba.nr_phys_allocated
NO_OVERFLOW_SIMPLE 0 fw_work->ioc->sas_hba.num_phys
LOCK2 &ioc->reset_in_progress_mutex
HALF_LOCKED2 &ioc->base_cmds.mutex
HALF_LOCKED2 &ioc->ctl_cmds.mutex
HALF_LOCKED2 &ioc->pci_access_mutex
HALF_LOCKED2 &ioc->scsih_cmds.mutex
HALF_LOCKED2 &ioc->tm_cmds.mutex
HALF_LOCKED2 &ioc->transport_cmds.mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct MPT3SAS_ADAPTER)->reset_in_progress_mutex

drivers/scsi/mpt3sas/mpt3sas_scsih.c _scsih_fw_event_cleanup_queue() -> fw_event_work_put()

Type Parameter Key Value
PARAM_VALUE 0 fw_work 4096-ptr_max
PARAM_VALUE 0 fw_work->list.next->next 4096-ptr_max
PARAM_VALUE 0 fw_work->list.next->prev 4096-ptr_max
PARAM_VALUE 0 fw_work->list.prev->next 4096-ptr_max
PARAM_VALUE 0 fw_work->list.prev->prev 4096-ptr_max
PARAM_VALUE 0 fw_work->work.lockdep_map->name 0-255
CAPPED_DATA 0 &fw_work->work 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->mutex

drivers/scsi/mpt3sas/mpt3sas_scsih.c _scsih_fw_event_del_from_list() -> fw_event_work_put()

Type Parameter Key Value
PARAM_VALUE 0 fw_work 4096-ptr_max
PARAM_VALUE 0 fw_work->list.next->prev 4096-ptr_max
PARAM_VALUE 0 fw_work->list.prev->next 4096-ptr_max
CAPPED_DATA 0 &fw_work->list 1
DATA_SOURCE 0 fw_work $1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ioc->fw_event_lock
LOCK2 flags
TYPE_LOCK (struct MPT3SAS_ADAPTER)->fw_event_lock

drivers/scsi/mpt3sas/mpt3sas_scsih.c _scsih_send_event_to_turn_on_pfa_led() -> fw_event_work_put()

Type Parameter Key Value
PARAM_VALUE 0 fw_work 4096-ptr_max
PARAM_VALUE 0 fw_work->event 65532
PARAM_VALUE 0 fw_work->ioc 4096-ptr_max
PARAM_VALUE 0 fw_work->ioc->pdev 4096-ptr_max
PARAM_VALUE 0 fw_work->ioc->shost 4096-ptr_max
BUF_SIZE 0 fw_work 320
CAPPED_DATA 0 fw_work->device_handle 1
CAPPED_DATA 0 fw_work->ioc->hi_priority_smid 1
DATA_SOURCE 0 fw_work r alloc_fw_event_work
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ioc->tm_cmds.mutex

drivers/scsi/mpt3sas/mpt3sas_scsih.c dequeue_next_fw_event() -> fw_event_work_put()

Type Parameter Key Value
PARAM_VALUE 0 fw_work 4096-ptr_max
PARAM_VALUE 0 fw_work->list.next->prev 4096-ptr_max
PARAM_VALUE 0 fw_work->list.prev->next 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ioc->fw_event_lock
LOCK2 flags
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &ioc->base_cmds.mutex
HALF_LOCKED2 &ioc->ctl_cmds.mutex
HALF_LOCKED2 &ioc->pci_access_mutex
HALF_LOCKED2 &ioc->reset_in_progress_mutex
HALF_LOCKED2 &ioc->scsih_cmds.mutex
HALF_LOCKED2 &ioc->tm_cmds.mutex
HALF_LOCKED2 &ioc->transport_cmds.mutex
TYPE_LOCK (struct MPT3SAS_ADAPTER)->fw_event_lock

drivers/scsi/mpt3sas/mpt3sas_scsih.c mpt3sas_port_enable_complete() -> fw_event_work_put()

Type Parameter Key Value
PARAM_VALUE 0 fw_work 4096-ptr_max
PARAM_VALUE 0 fw_work->event 65533
PARAM_VALUE 0 fw_work->ioc 4096-ptr_max
PARAM_VALUE 0 fw_work->ioc->port_enable_cmds.status 5-65517
PARAM_VALUE 0 fw_work->ioc->shost 4096-ptr_max
BUF_SIZE 0 fw_work 320
CAPPED_DATA 0 fw_work->ioc->hi_priority_smid 1
DATA_SOURCE 0 fw_work r alloc_fw_event_work
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ioc->tm_cmds.mutex

drivers/scsi/mpt3sas/mpt3sas_scsih.c mpt3sas_scsih_event_callback() -> fw_event_work_put()

Type Parameter Key Value
PARAM_VALUE 0 fw_work 4096-ptr_max
PARAM_VALUE 0 fw_work->refcount.refcount.refs.counter 1
PARAM_VALUE 0 fw_work->retries 0
BUF_SIZE 0 fw_work 320-s32max
BUF_SIZE 0 fw_work 320-s32max
BUF_SIZE 0 fw_work->retries 0-255
CAPPED_DATA 0 fw_work->event_data 1
DATA_SOURCE 0 fw_work r alloc_fw_event_work
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ioc->tm_cmds.mutex

drivers/scsi/mpt3sas/mpt3sas_scsih.c mpt3sas_scsih_event_callback() -> fw_event_work_put()

Type Parameter Key Value
PARAM_VALUE 0 fw_work 4096-ptr_max
PARAM_VALUE 0 fw_work->refcount.refcount.refs.counter 1
PARAM_VALUE 0 fw_work->retries 0
BUF_SIZE 0 fw_work 320-s32max
BUF_SIZE 0 fw_work 320-s32max
BUF_SIZE 0 fw_work->retries 0-255
DATA_SOURCE 0 fw_work r alloc_fw_event_work
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ioc->tm_cmds.mutex

drivers/scsi/mpt3sas/mpt3sas_scsih.c mpt3sas_scsih_event_callback() -> fw_event_work_put()

Type Parameter Key Value
PARAM_VALUE 0 fw_work 4096-ptr_max
PARAM_VALUE 0 fw_work->event 15,20,22-23,28-33,39,48-50,52-53
PARAM_VALUE 0 fw_work->ioc 4096-ptr_max
PARAM_VALUE 0 fw_work->ioc->pci_error_recovery 0
BUF_SIZE 0 fw_work 320-s32max
BUF_SIZE 0 fw_work 320-s32max
BUF_SIZE 0 fw_work->retries 0-255,u64max
CAPPED_DATA 0 fw_work->event 1
DATA_SOURCE 0 fw_work r alloc_fw_event_work
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ioc->tm_cmds.mutex

drivers/scsi/mpt3sas/mpt3sas_scsih.c mpt3sas_send_trigger_data_event() -> fw_event_work_put()

Type Parameter Key Value
PARAM_VALUE 0 fw_work 4096-ptr_max
PARAM_VALUE 0 fw_work->event 65531
PARAM_VALUE 0 fw_work->ioc 4096-ptr_max
PARAM_VALUE 0 fw_work->ioc->diag_trigger_active 0-1
PARAM_VALUE 0 fw_work->ioc->is_driver_loading 0
BUF_SIZE 0 fw_work 332
BUF_SIZE 0 fw_work 332
DATA_SOURCE 0 fw_work r alloc_fw_event_work
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 fw_work->ioc->combined_reply_index_count
NO_OVERFLOW_SIMPLE 0 fw_work->ioc->sas_hba.nr_phys_allocated
NO_OVERFLOW_SIMPLE 0 fw_work->ioc->sas_hba.num_phys