Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/scsi/libsas/sas_event.c sas_queue_deferred_work() -> sas_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 ha 4096-ptr_max
PARAM_VALUE 0 ha->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ha->drain_mutex.dep_map->name 0-255
PARAM_VALUE 0 ha->drain_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ha->drain_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ha->drain_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 ha->drain_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ha->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 sw 4096-ptr_max
BUF_SIZE 0 ha s32min-(-1),1-s32max
BUF_SIZE 0 ha s32min-(-1),1-s32max
BUF_SIZE 0 ha->dev (-1),1616
BUF_SIZE 0 ha->sas_addr (-1),8
BUF_SIZE 0 ha->sas_ha_name (-1),9,15
BUF_SIZE 0 ha->shost (-1),4520-s32max
CAPPED_DATA 0 &ha->defer_q 1
CAPPED_DATA 1 &sw->drain_node 1
DATA_SOURCE 0 ha $0
STR_LEN 0 ha->sas_ha_name (-1),8,14
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 ha->event_q->rescuer->task->dl.pi_se->dl_runtime
UNITS 0 ha unit_byte
LOCK2 irq
LOCK2 0 &ha->lock
HALF_LOCKED2 0 &ha->drain_mutex
TYPE_LOCK (struct sas_ha_struct)->lock

drivers/scsi/libsas/sas_event.c sas_queue_event() -> sas_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 ha 4096-ptr_max
PARAM_VALUE 0 ha->shost 4096-ptr_max
PARAM_VALUE 1 sw 4096-ptr_max
PARAM_VALUE 1 sw->drain_node.next 1-u64max
PARAM_VALUE 1 sw->drain_node.prev 1-u64max
DATA_SOURCE 0 ha $2
DATA_SOURCE 1 sw $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &ha->lock
HALF_LOCKED2 &circularQ->oq_lock
HALF_LOCKED2 &mvi->lock
HALF_LOCKED2 &pm8001_ha->lock
HALF_LOCKED2 circularQ->lock_flags
HALF_LOCKED2 flags
TYPE_LOCK (struct sas_ha_struct)->lock

drivers/scsi/libsas/sas_init.c queue_phy_enable() -> sas_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 ha 4096-ptr_max
PARAM_VALUE 0 ha->dev 4096-ptr_max
PARAM_VALUE 0 ha->dev->bus 0,4096-ptr_max
PARAM_VALUE 0 ha->dev->class 0,4096-ptr_max
PARAM_VALUE 0 ha->dev->power.request 0-4
PARAM_VALUE 0 ha->dev->power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 ha->dev->power.wakeirq 0,4096-ptr_max
PARAM_VALUE 0 ha->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ha->dev->type 0,4096-ptr_max
PARAM_VALUE 0 ha->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 sw 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &d->event_lock
LOCK2 &of->mutex
LOCK2 irq
LOCK2 0 &ha->lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct sas_ha_struct)->lock
TYPE_LOCK (struct sas_phy_data)->event_lock

drivers/scsi/libsas/sas_init.c queue_phy_reset() -> sas_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 ha 4096-ptr_max
PARAM_VALUE 0 ha->dev 4096-ptr_max
PARAM_VALUE 0 ha->dev->bus 0,4096-ptr_max
PARAM_VALUE 0 ha->dev->class 0,4096-ptr_max
PARAM_VALUE 0 ha->dev->power.request 0-4
PARAM_VALUE 0 ha->dev->power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 ha->dev->power.wakeirq 0,4096-ptr_max
PARAM_VALUE 0 ha->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ha->dev->type 0,4096-ptr_max
PARAM_VALUE 0 ha->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 sw 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &d->event_lock
LOCK2 &of->mutex
LOCK2 irq
LOCK2 0 &ha->lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct sas_ha_struct)->lock
TYPE_LOCK (struct sas_phy_data)->event_lock