Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/scsi/bnx2fc/bnx2fc_els.c bnx2fc_initiate_els() -> bnx2fc_add_2_sq()

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
DATA_SOURCE 0 tgt $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &tgt->tgt_lock
HALF_LOCKED2 &tgt->tgt_lock
TYPE_LOCK (struct bnx2fc_rport)->tgt_lock

drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_initiate_abts() -> bnx2fc_add_2_sq()

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tgt->tgt_lock
LOCK2 bh
HALF_LOCKED2 &tgt->cq_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct bnx2fc_rport)->tgt_lock

drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_initiate_cleanup() -> bnx2fc_add_2_sq()

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tgt->tgt_lock
LOCK2 bh
HALF_LOCKED2 &hba->hba_mutex
HALF_LOCKED2 &tgt->cq_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct bnx2fc_rport)->tgt_lock

drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_initiate_seq_cleanup() -> bnx2fc_add_2_sq()

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tgt->tgt_lock
LOCK2 bh
HALF_LOCKED2 &hba->hba_mutex
TYPE_LOCK (struct bnx2fc_rport)->tgt_lock

drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_initiate_tmf() -> bnx2fc_add_2_sq()

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &tgt->tgt_lock
TYPE_LOCK (struct bnx2fc_rport)->tgt_lock

drivers/scsi/bnx2fc/bnx2fc_io.c bnx2fc_post_io_req() -> bnx2fc_add_2_sq()

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
DATA_SOURCE 0 tgt $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
HALF_LOCKED2 &tgt->tgt_lock
HALF_LOCKED2 0 &tgt->tgt_lock
TYPE_LOCK (struct bnx2fc_rport)->tgt_lock