Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/infiniband/hw/mana/main.c mana_ib_event_handler() -> mana_put_qp_ref()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
DATA_SOURCE 0 qp r mana_get_qp_ref
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags

drivers/infiniband/hw/mana/qp.c mana_table_drain_qp_ref() -> mana_put_qp_ref()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
PARAM_VALUE 0 qp->ibqp.qp_type 1-4
PARAM_VALUE 0 qp->shadow_rq.stride 16,24
PARAM_VALUE 0 qp->shadow_sq.stride 16,24
CAPPED_DATA 0 qp 1
DATA_SOURCE 0 qp $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 qp->shadow_rq.length 0-u32max
USER_DATA 0 qp->shadow_sq.length 0-u32max
NO_OVERFLOW_SIMPLE 0 qp->shadow_rq.stride
NO_OVERFLOW_SIMPLE 0 qp->shadow_sq.stride

drivers/infiniband/hw/mana/cq.c mana_drain_gsi_sqs() -> mana_put_qp_ref()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
CAPPED_DATA 0 qp->shadow_sq.next_to_complete_idx 1
CAPPED_DATA 0 qp->shadow_sq.prod_idx 1
DATA_SOURCE 0 qp r mana_get_qp_ref
PARAM_COMPARE 0 qp->shadow_sq.next_to_complete_idx == $0->shadow_sq.prod_idx
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->mutex
TYPE_LOCK (struct device)->mutex

drivers/infiniband/hw/mana/cq.c mana_handle_cqe() -> mana_put_qp_ref()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
DATA_SOURCE 0 qp r mana_get_qp_ref
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cq->cq_lock
LOCK2 flags
TYPE_LOCK (struct mana_ib_cq)->cq_lock