Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/scsi/elx/libefc/efc_domain.c __efc_domain_allocated() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_domain.c __efc_domain_allocated() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_domain.c __efc_domain_allocated() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_domain.c __efc_domain_init() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 2 data 0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_domain.c __efc_domain_init() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 4096-ptr_max
BUF_SIZE 2 data (-1),4,80,548
BUF_SIZE 2 data (-1),4,80,548
DATA_SOURCE 0 ctx $0
DATA_SOURCE 2 data $2
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 2 data->els_rsp.phys
NO_OVERFLOW_SIMPLE 2 data->els_rsp.size
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_domain.c __efc_domain_init() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 4096-ptr_max
BUF_SIZE 2 data (-1),4,80,548
BUF_SIZE 2 data (-1),4,80,548
DATA_SOURCE 0 ctx $0
DATA_SOURCE 2 data $2
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 2 data->els_rsp.phys
NO_OVERFLOW_SIMPLE 2 data->els_rsp.size
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_domain.c __efc_domain_ready() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_domain.c __efc_domain_ready() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_domain.c __efc_domain_wait_alloc() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_domain.c __efc_domain_wait_alloc() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_domain.c __efc_domain_wait_alloc() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_domain.c __efc_domain_wait_attach() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_domain.c __efc_domain_wait_attach() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_domain.c __efc_domain_wait_domain_lost() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_domain.c __efc_domain_wait_domain_lost() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_domain.c __efc_domain_wait_nports_free() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_domain.c __efc_domain_wait_shutdown() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 2 data 0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_domain.c efc_domain_cb() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 2 data 0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &efc->lock
LOCK2 flags
TYPE_LOCK (struct efc)->lock

drivers/scsi/elx/libefc/efc_nport.c __efc_nport_allocated() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_nport.c __efc_nport_common() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $1
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_nport.c __efc_nport_common() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $1
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_nport.c __efc_nport_common() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $1
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_nport.c __efc_nport_vport_allocated() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_nport.c __efc_nport_vport_init() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_nport.c __efc_nport_vport_wait_alloc() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_nport.c __efc_nport_wait_shutdown() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 0 ctx->current_state 1-u64max
PARAM_VALUE 2 data 0
DATA_SOURCE 0 ctx $0
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efc_nport.c efc_vport_nport_alloc() -> efc_sm_transition()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->app 4096-ptr_max
PARAM_VALUE 2 data 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &efc->vport_lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags