Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/scsi/libfc/fc_exch.c fc_exch_em_alloc() -> fc_exch_ptr_get()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 1 index 0-65534
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 0 &pool->lock
HALF_LOCKED2 &lport->lp_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 lport->host->host_lock
TYPE_LOCK (struct fc_exch_pool)->lock

drivers/scsi/libfc/fc_exch.c fc_exch_em_alloc() -> fc_exch_ptr_get()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 1 index 0-65534
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 0 &pool->lock
HALF_LOCKED2 &lport->lp_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 lport->host->host_lock
TYPE_LOCK (struct fc_exch_pool)->lock

drivers/scsi/libfc/fc_exch.c fc_exch_em_alloc() -> fc_exch_ptr_get()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 0 &pool->lock
HALF_LOCKED2 &lport->lp_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 lport->host->host_lock
TYPE_LOCK (struct fc_exch_pool)->lock

drivers/scsi/libfc/fc_exch.c fc_exch_em_alloc() -> fc_exch_ptr_get()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
CAPPED_DATA 1 index 1
PARAM_COMPARE 1 index != $0->next_index
PARAM_COMPARE 1 index >= $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 0 &pool->lock
HALF_LOCKED2 &lport->lp_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 lport->host->host_lock
TYPE_LOCK (struct fc_exch_pool)->lock

drivers/scsi/libfc/fc_exch.c fc_exch_find() -> fc_exch_ptr_get()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 1 index 0-65534
PREEMPT_ADD <- disables preempt
RX_PATH
USER_DATA 1 index 0-65534[c]
LOCK2 bh
LOCK2 0 &pool->lock
HALF_LOCKED2 &lport->lp_mutex
HALF_LOCKED2 &rdata->rp_mutex
TYPE_LOCK (struct fc_exch_pool)->lock