Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/scsi/elx/libefc/efc_domain.c efc_dispatch_frame() -> (struct libefc_function_template)->hw_seq_free()

Type Parameter Key Value
PARAM_VALUE 0 efc 4096-ptr_max
PARAM_VALUE 0 efc->domain 4096-ptr_max
PARAM_VALUE 0 efc->domain->efc 4096-ptr_max
PARAM_VALUE 0 efc->hold_frames 0
PARAM_VALUE 0 efc->pend_frames.next 4096-ptr_max
PARAM_VALUE 1 seq 4096-ptr_max
PARAM_VALUE 1 seq->fcfi 0-63,255
PARAM_VALUE 1 seq->header 4096-ptr_max
PARAM_VALUE 1 seq->header->dma.len 0-63
PARAM_VALUE 1 seq->header->dma.virt 4096-ptr_max
PARAM_VALUE 1 seq->header->dma.virt->fh_type 0-7,9-255
PARAM_VALUE 1 seq->hw 4096-ptr_max
PARAM_VALUE 1 seq->payload 4096-ptr_max
PARAM_VALUE 1 seq->payload->dma.len 0-u16max
CAPPED_DATA 0 &efc->pend_frames 1
DATA_SOURCE 0 efc $0
DATA_SOURCE 1 seq $1
CONTAINER 0 -56-184+0 $(-1)
PARAM_COMPARE 0 &efc->pend_frames == $0->pend_frames.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/scsi/elx/libefc/efc_domain.c efct_domain_process_pending() -> (struct libefc_function_template)->hw_seq_free()

Type Parameter Key Value
PARAM_VALUE 0 efc 4096-ptr_max
PARAM_VALUE 0 efc->hold_frames 0
PARAM_VALUE 0 efc->pend_frames_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 seq 4096-ptr_max
PARAM_VALUE 1 seq->header 0,4096-ptr_max
CAPPED_DATA 0 &efc->pend_frames 1
CONTAINER 0 -56-184+0 $(-1)
PARAM_COMPARE 0 &efc->pend_frames != $0->pend_frames.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/scsi/elx/libefc/efc_node.c efc_node_purge_pending() -> (struct libefc_function_template)->hw_seq_free()

Type Parameter Key Value
PARAM_VALUE 0 efc 4096-ptr_max
PARAM_VALUE 1 seq 4096-ptr_max
CAPPED_DATA 1 &seq->list_entry 1
CONTAINER 0 -56-184+0 $(-1)
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &node->pend_frames_lock
LOCK2 flags
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 flags
TYPE_LOCK (struct efc_node)->pend_frames_lock

drivers/scsi/elx/libefc/efc_node.c efc_process_node_pending() -> (struct libefc_function_template)->hw_seq_free()

Type Parameter Key Value
PARAM_VALUE 0 efc 4096-ptr_max
PARAM_VALUE 1 seq 4096-ptr_max
PARAM_VALUE 1 seq->header 4096-ptr_max
CONTAINER 0 -56-184+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &efc->lock
HALF_LOCKED2 flags

drivers/scsi/elx/libefc/efclib.c efc_purge_pending() -> (struct libefc_function_template)->hw_seq_free()

Type Parameter Key Value
PARAM_VALUE 0 efc 4096-ptr_max
PARAM_VALUE 1 seq 4096-ptr_max
CAPPED_DATA 0 &efc->pend_frames 1
CAPPED_DATA 1 &seq->list_entry 1
DATA_SOURCE 0 efc $0
CONTAINER 0 -56-184+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 efc->node_dma_pool->allocation
NO_OVERFLOW_SIMPLE 0 efc->node_dma_pool->dev->cma_area->available_count
LOCK2 flags
LOCK2 0 &efc->pend_frames_lock
TYPE_LOCK (struct efc)->pend_frames_lock