Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/block/ublk_drv.c __ublk_fetch() -> ublk_dev_ready()

Type Parameter Key Value
PARAM_VALUE 0 ub 4096-ptr_max
BUF_SIZE 0 ub s32min-(-2),1-s32max
BUF_SIZE 0 ub s32min-(-2),1-s32max
DATA_SOURCE 0 ub $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 &io->lock
HALF_LOCKED2 0 &ub->mutex

drivers/block/ublk_drv.c ublk_mark_io_ready() -> ublk_dev_ready()

Type Parameter Key Value
PARAM_VALUE 0 ub 4096-ptr_max
BUF_SIZE 0 ub s32min-(-2),1-s32max
BUF_SIZE 0 ub s32min-(-2),1-s32max
DATA_SOURCE 0 ub $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 0 &ub->mutex

drivers/block/ublk_drv.c ublk_wait_dev_ready_and_lock() -> ublk_dev_ready()

Type Parameter Key Value
PARAM_VALUE 0 ub 4096-ptr_max
BUF_SIZE 0 ub (-1),26
BUF_SIZE 0 ub (-1),26
DATA_SOURCE 0 ub $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->uring_lock

drivers/block/ublk_drv.c ublk_wait_dev_ready_and_lock() -> ublk_dev_ready()

Type Parameter Key Value
PARAM_VALUE 0 ub 4096-ptr_max
BUF_SIZE 0 ub (-1),26
BUF_SIZE 0 ub (-1),26
DATA_SOURCE 0 ub $0
PARAM_COMPARE 0 ub->dev_info.nr_hw_queues != $0->nr_queue_ready
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->uring_lock

drivers/block/ublk_drv.c ublk_wait_dev_ready_and_lock() -> ublk_dev_ready()

Type Parameter Key Value
PARAM_VALUE 0 ub 4096-ptr_max
BUF_SIZE 0 ub (-1),26
BUF_SIZE 0 ub (-1),26
CAPPED_DATA 0 &ub->mutex 1
DATA_SOURCE 0 ub $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &ub->mutex
HALF_LOCKED2 &ctx->uring_lock
TYPE_LOCK (struct ublk_device)->mutex