Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/infiniband/hw/ocrdma/ocrdma_verbs.c ocrdma_add_err_cqe() -> is_hw_rq_empty()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
CAPPED_DATA 0 qp->sq.head 1
CAPPED_DATA 0 qp->sq.tail 1
DATA_SOURCE 0 qp $2
PARAM_COMPARE 0 qp->sq.head == $0->sq.tail
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->flush_q_lock
LOCK2 flags
TYPE_LOCK (struct ocrdma_dev)->flush_q_lock

drivers/infiniband/hw/ocrdma/ocrdma_verbs.c ocrdma_add_err_cqe() -> is_hw_rq_empty()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
DATA_SOURCE 0 qp $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->flush_q_lock
LOCK2 flags
TYPE_LOCK (struct ocrdma_dev)->flush_q_lock

drivers/infiniband/hw/ocrdma/ocrdma_verbs.c ocrdma_discard_cqes() -> is_hw_rq_empty()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
CAPPED_DATA 0 qp->rq_cq 1
CAPPED_DATA 0 qp->sq.head 1
CAPPED_DATA 0 qp->sq.tail 1
DATA_SOURCE 0 qp $0
PARAM_COMPARE 0 qp->sq.head == $0->sq.tail
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &cq->cq_lock
LOCK2 &dev->dev_lock
LOCK2 cq_flags
TYPE_LOCK (struct ocrdma_cq)->cq_lock
TYPE_LOCK (struct ocrdma_dev)->dev_lock

drivers/infiniband/hw/ocrdma/ocrdma_verbs.c ocrdma_poll_err_rcqe() -> is_hw_rq_empty()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
DATA_SOURCE 0 qp $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &cq->cq_lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ocrdma_cq)->cq_lock

drivers/infiniband/hw/ocrdma/ocrdma_verbs.c ocrdma_poll_err_rcqe() -> is_hw_rq_empty()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
DATA_SOURCE 0 qp $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &cq->cq_lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ocrdma_cq)->cq_lock

drivers/infiniband/hw/ocrdma/ocrdma_verbs.c ocrdma_poll_err_scqe() -> is_hw_rq_empty()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
CAPPED_DATA 0 qp->sq.head 1
CAPPED_DATA 0 qp->sq.tail 1
DATA_SOURCE 0 qp $0
PARAM_COMPARE 0 qp->sq.head == $0->sq.tail
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &cq->cq_lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ocrdma_cq)->cq_lock

drivers/infiniband/hw/ocrdma/ocrdma_verbs.c ocrdma_update_err_cqe() -> is_hw_rq_empty()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
CAPPED_DATA 0 qp 1
CAPPED_DATA 0 qp->state 1
DATA_SOURCE 0 qp $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &cq->cq_lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ocrdma_cq)->cq_lock