Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/infiniband/hw/mlx5/cq.c mlx5_ib_destroy_cq() -> mlx5_ib_pre_destroy_cq()

Type Parameter Key Value
PARAM_VALUE 0 cq 4096-ptr_max
PARAM_VALUE 0 cq->device 4096-ptr_max
PARAM_VALUE 0 cq->usecnt.counter 0
BUF_SIZE 0 cq (-1),1-s32max
BUF_SIZE 0 cq (-1),1-s32max
BUF_SIZE 0 cq->cq_context s32min-(-1),1-s32max
BUF_SIZE 0 cq->res.kern_name (-1),4,8-9
BUF_SIZE 0 cq->wc (-1),1152
DATA_SOURCE 0 cq $0
STR_LEN 0 cq->cq_context (-1),7
STR_LEN 0 cq->device (-1),6-12
STR_LEN 0 cq->res.kern_name (-1),3,7-8
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 cq->device->ops.size_ib_cq 0-4000000
NO_OVERFLOW_SIMPLE 0 cq->cqe_used
NO_OVERFLOW_SIMPLE 0 cq->device->hw_stats_attr_index
NO_OVERFLOW_SIMPLE 0 cq->device->num_comp_vectors
NO_OVERFLOW_SIMPLE 0 cq->device->phys_port_cnt

drivers/infiniband/core/cq.c ib_free_cq() -> (struct ib_device_ops)->pre_destroy_cq()

Type Parameter Key Value
PARAM_VALUE 0 cq 4096-ptr_max
PARAM_VALUE 0 cq->cqe_used 0
PARAM_VALUE 0 cq->device 4096-ptr_max
PARAM_VALUE 0 cq->device->ops.pre_destroy_cq 1-u64max
PARAM_VALUE 0 cq->usecnt.counter 0
CAPPED_DATA 0 &cq->res 1
DATA_SOURCE 0 cq $0
CONTAINER 0 -456-8-0+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 cq->cqe_used
HALF_LOCKED2 &dev->umrc.init_lock
HALF_LOCKED2 &dev->unregistration_lock
HALF_LOCKED2 &device->client_data_rwsem
HALF_LOCKED2 global &clients_rwsem
HALF_LOCKED2 global &devices_rwsem