Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/infiniband/hw/mthca/mthca_srq.c mthca_alloc_srq_buf() -> wqe_to_link()

Type Parameter Key Value
PARAM_VALUE 0 wqe 4096-ptr_max
DATA_SOURCE 0 wqe r get_wqe
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &devr->srq_lock
HALF_LOCKED2 global &device_list_mutex

drivers/infiniband/hw/mthca/mthca_srq.c mthca_alloc_srq_buf() -> wqe_to_link()

Type Parameter Key Value
PARAM_VALUE 0 wqe 4096-ptr_max
DATA_SOURCE 0 wqe r get_wqe
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &devr->srq_lock
HALF_LOCKED2 global &device_list_mutex

drivers/infiniband/hw/mthca/mthca_srq.c mthca_arbel_post_srq_recv() -> wqe_to_link()

Type Parameter Key Value
PARAM_VALUE 0 wqe 4096-ptr_max
DATA_SOURCE 0 wqe r get_wqe
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &srq->lock
LOCK2 flags
TYPE_LOCK (struct mthca_srq)->lock

drivers/infiniband/hw/mthca/mthca_srq.c mthca_free_srq_wqe() -> wqe_to_link()

Type Parameter Key Value
PARAM_VALUE 0 wqe 4096-ptr_max
DATA_SOURCE 0 wqe r get_wqe
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &cq->lock
LOCK2 &srq->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct mthca_cq)->lock
TYPE_LOCK (struct mthca_srq)->lock

drivers/infiniband/hw/mthca/mthca_srq.c mthca_free_srq_wqe() -> wqe_to_link()

Type Parameter Key Value
PARAM_VALUE 0 wqe 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &cq->lock
LOCK2 &srq->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct mthca_cq)->lock
TYPE_LOCK (struct mthca_srq)->lock

drivers/infiniband/hw/mthca/mthca_srq.c mthca_tavor_post_srq_recv() -> wqe_to_link()

Type Parameter Key Value
PARAM_VALUE 0 wqe 4096-ptr_max
DATA_SOURCE 0 wqe r get_wqe
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &srq->lock
LOCK2 flags
TYPE_LOCK (struct mthca_srq)->lock