Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/target/target_core_user.c is_ring_space_avail() -> head_to_end()

Type Parameter Key Value
CAPPED_DATA 0 head 1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 size unit_byte
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &udev->cmdr_lock
HALF_LOCKED2 &udev->cmdr_lock
TYPE_LOCK (struct tcmu_dev)->cmdr_lock

drivers/target/target_core_user.c is_ring_space_avail() -> head_to_end()

Type Parameter Key Value
CAPPED_DATA 0 head 1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 size unit_byte
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &udev->cmdr_lock
HALF_LOCKED2 &udev->cmdr_lock
TYPE_LOCK (struct tcmu_dev)->cmdr_lock

drivers/target/target_core_user.c ring_insert_padding() -> head_to_end()

Type Parameter Key Value
CAPPED_DATA 0 head 1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 size unit_byte
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &udev->cmdr_lock
HALF_LOCKED2 &udev->cmdr_lock
TYPE_LOCK (struct tcmu_dev)->cmdr_lock

drivers/target/target_core_user.c ring_insert_padding() -> head_to_end()

Type Parameter Key Value
CAPPED_DATA 0 head 1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 size unit_byte
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &udev->cmdr_lock
HALF_LOCKED2 &udev->cmdr_lock
TYPE_LOCK (struct tcmu_dev)->cmdr_lock

drivers/target/target_core_user.c tcmu_handle_completions() -> head_to_end()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 1 size unit_byte
LOCK2 &udev->cmdr_lock
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 &idev->info_lock
HALF_LOCKED2 global &root_udev_mutex
TYPE_LOCK (struct tcmu_dev)->cmdr_lock