Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 10 files:

Smatch caller information:

drivers/bluetooth/hci_qca.c qca_send_power_pulse() -> serdev_device_wait_until_sent()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 serdev->ctrl->ops->close 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl->ops->open 4096-ptr_max
PARAM_VALUE 0 serdev->ops->receive_buf 4096-ptr_max
PARAM_VALUE 1 timeout 0-536870912
DATA_SOURCE 1 timeout r msecs_to_jiffies
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &hdev->req_lock

drivers/bluetooth/hci_qca.c qca_serdev_shutdown() -> serdev_device_wait_until_sent()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 4096-ptr_max
PARAM_VALUE 1 timeout 0-536870912
DATA_SOURCE 0 serdev $0
DATA_SOURCE 1 timeout r msecs_to_jiffies
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->mutex
HALF_LOCKED2 &parent->mutex
HALF_LOCKED2 global &system_transition_mutex
TYPE_LOCK (struct device)->mutex

drivers/bluetooth/hci_qca.c qca_serdev_shutdown() -> serdev_device_wait_until_sent()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 4096-ptr_max
PARAM_VALUE 1 timeout 0-536870912
DATA_SOURCE 0 serdev $0
DATA_SOURCE 1 timeout r msecs_to_jiffies
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->mutex
HALF_LOCKED2 &parent->mutex
HALF_LOCKED2 global &system_transition_mutex
TYPE_LOCK (struct device)->mutex

drivers/bluetooth/hci_qca.c qca_set_baudrate() -> serdev_device_wait_until_sent()

Type Parameter Key Value
PARAM_VALUE 0 serdev 1-u64max
PARAM_VALUE 1 timeout 0-536870912
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &hdev->req_lock
TYPE_LOCK (struct hci_dev)->req_lock

drivers/bluetooth/hci_qca.c qca_suspend() -> serdev_device_wait_until_sent()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 4096-ptr_max
PARAM_VALUE 1 timeout 0-536870912
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/greybus/gb-beagleplay.c cc1352_prepare() -> serdev_device_wait_until_sent()

Type Parameter Key Value
PARAM_VALUE 0 serdev->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 serdev->dev.class 0,4096-ptr_max
PARAM_VALUE 0 serdev->dev.driver 0,4096-ptr_max
PARAM_VALUE 1 timeout 2000
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/platform/surface/aggregator/core.c ssam_serial_hub_remove() -> serdev_device_wait_until_sent()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->dev.kobj.sd 0,4096-ptr_max
PARAM_VALUE 0 serdev->dev.kobj.sd->__parent 0
PARAM_VALUE 1 timeout 0
DATA_SOURCE 0 serdev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ctrl->lock
HALF_LOCKED2 &dev->mutex
TYPE_LOCK (struct ssam_controller)->lock

drivers/bluetooth/btmtkuart.c btmtkuart_change_baudrate() -> serdev_device_wait_until_sent()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 4096-ptr_max
PARAM_VALUE 1 timeout 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &hdev->req_lock
TYPE_LOCK (struct hci_dev)->req_lock

drivers/gnss/sirf.c sirf_write_raw() -> serdev_device_wait_until_sent()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 4096-ptr_max
PARAM_VALUE 0 serdev->write_comp.done 0-4294967293,u32max
PARAM_VALUE 0 serdev->write_comp.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 serdev->write_comp.wait.lock.owner (-1)
PARAM_VALUE 0 serdev->write_comp.wait.lock.owner_cpu u32max
PARAM_VALUE 0 serdev->write_comp.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 serdev->write_comp.wait.task_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 serdev->write_lock.dep_map->name 0-255
PARAM_VALUE 0 serdev->write_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 serdev->write_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 serdev->write_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 serdev->write_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 serdev->write_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 serdev->write_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 serdev->write_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 serdev->write_lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 timeout 0
NOCHECK_CALL
LOCK2 &gdev->rwsem
LOCK2 &gdev->write_mutex
TYPE_LOCK (struct gnss_device)->rwsem
TYPE_LOCK (struct gnss_device)->write_mutex

drivers/gnss/serial.c gnss_serial_write_raw() -> serdev_device_wait_until_sent()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 4096-ptr_max
PARAM_VALUE 0 serdev->write_comp.done 0-4294967293,u32max
PARAM_VALUE 0 serdev->write_comp.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 serdev->write_comp.wait.lock.owner (-1)
PARAM_VALUE 0 serdev->write_comp.wait.lock.owner_cpu u32max
PARAM_VALUE 0 serdev->write_comp.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 serdev->write_comp.wait.task_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 serdev->write_lock.dep_map->name 0-255
PARAM_VALUE 0 serdev->write_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 serdev->write_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 serdev->write_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 serdev->write_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 serdev->write_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 serdev->write_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 serdev->write_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 serdev->write_lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 timeout 0
NOCHECK_CALL
LOCK2 &gdev->rwsem
LOCK2 &gdev->write_mutex
TYPE_LOCK (struct gnss_device)->rwsem
TYPE_LOCK (struct gnss_device)->write_mutex

drivers/bluetooth/btnxpuart.c nxp_fw_change_baudrate() -> serdev_device_wait_until_sent()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 0,4096-ptr_max
PARAM_VALUE 1 timeout 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/bluetooth/btnxpuart.c nxp_fw_change_timeout() -> serdev_device_wait_until_sent()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 0,4096-ptr_max
PARAM_VALUE 1 timeout 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/bluetooth/btnxpuart.c nxp_recv_fw_req_v1() -> serdev_device_wait_until_sent()

Type Parameter Key Value
PARAM_VALUE 1 timeout 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/mfd/qnap-mcu.c qnap_mcu_exec() -> serdev_device_wait_until_sent()

Type Parameter Key Value
PARAM_VALUE 0 serdev->ctrl 0,4096-ptr_max
PARAM_VALUE 0 serdev->write_comp.done 0-4294967293,u32max
PARAM_VALUE 0 serdev->write_comp.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 serdev->write_comp.wait.lock.owner (-1)
PARAM_VALUE 0 serdev->write_comp.wait.lock.owner_cpu u32max
PARAM_VALUE 0 serdev->write_comp.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 serdev->write_comp.wait.task_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 serdev->write_lock.dep_map->name 0-255
PARAM_VALUE 0 serdev->write_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 serdev->write_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 serdev->write_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 serdev->write_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 serdev->write_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 serdev->write_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 serdev->write_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 serdev->write_lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 timeout 0-536870912
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock
HALF_LOCKED2 &of->mutex

drivers/bluetooth/hci_nokia.c nokia_dequeue() -> serdev_device_wait_until_sent()

Type Parameter Key Value
PARAM_VALUE 1 timeout 0
NOCHECK_CALL
HALF_LOCKED2 &pool->lock