Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/bluetooth/mgmt.c mesh_next() -> mesh_send_complete()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->cmd_sync_work_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->cmd_sync_work_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hdev->cmd_sync_work_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->debugfs->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 hdev->debugfs->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 mesh_tx 1-u64max
PARAM_VALUE 2 silent 0
BUF_SIZE 0 hdev (-1)-s32max
BUF_SIZE 0 hdev (-1)-s32max
DATA_SOURCE 0 hdev $0
DATA_SOURCE 1 mesh_tx r mgmt_mesh_next
PARAM_COMPARE 0 &hdev->mesh_pending != $0->mesh_pending.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 0 &hdev->cmd_sync_work_lock
HALF_LOCKED2 0 &hdev->req_lock

net/bluetooth/mgmt.c mesh_send_done_sync() -> mesh_send_complete()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->cmd_sync_work_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->cmd_sync_work_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 hdev->cmd_sync_work_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hdev->cmd_sync_work_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 hdev->cmd_sync_work_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->dev_flags 4096-ptr_max
PARAM_VALUE 0 hdev->req_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->req_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 hdev->req_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hdev->req_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 hdev->req_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->req_lock.wait_lock.owner (-1)
PARAM_VALUE 0 hdev->req_lock.wait_lock.owner_cpu u32max
PARAM_VALUE 1 mesh_tx 1-u64max
PARAM_VALUE 2 silent 0
CAPPED_DATA 0 &hdev->adv_instances 1
DATA_SOURCE 0 hdev $0
DATA_SOURCE 1 mesh_tx r mgmt_mesh_next
PARAM_COMPARE 0 &hdev->mesh_pending != $0->mesh_pending.next
NOCHECK_CALL
LOCK2 0 &hdev->req_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct hci_dev)->req_lock

net/bluetooth/mgmt.c mesh_send_start_complete() -> mesh_send_complete()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->cmd_sync_work_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->cmd_sync_work_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 hdev->cmd_sync_work_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hdev->cmd_sync_work_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 hdev->cmd_sync_work_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->debugfs->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 hdev->debugfs->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 hdev->dev_flags 4096-ptr_max
PARAM_VALUE 1 mesh_tx 4096-ptr_max
PARAM_VALUE 2 silent 0
BUF_SIZE 0 hdev (-1)-s32max
BUF_SIZE 0 hdev (-1)-s32max
BUF_SIZE 1 mesh_tx (-1),1,3-8196
BUF_SIZE 1 mesh_tx (-1),1,3-8196
DATA_SOURCE 0 hdev $0
DATA_SOURCE 1 mesh_tx $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 0 &hdev->cmd_sync_work_lock
HALF_LOCKED2 0 &hdev->req_lock

net/bluetooth/mgmt.c mgmt_cleanup() -> mesh_send_complete()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 mesh_tx 1-u64max
PARAM_VALUE 2 silent 1
DATA_SOURCE 1 mesh_tx r mgmt_mesh_next
PARAM_COMPARE 0 &hdev->mesh_pending != $0->mesh_pending.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &hci_dev_list_lock

net/bluetooth/mgmt.c send_cancel() -> mesh_send_complete()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->cmd_sync_work_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->cmd_sync_work_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 hdev->cmd_sync_work_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hdev->cmd_sync_work_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 hdev->cmd_sync_work_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->req_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->req_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 hdev->req_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hdev->req_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 hdev->req_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->req_lock.wait_lock.owner (-1)
PARAM_VALUE 0 hdev->req_lock.wait_lock.owner_cpu u32max
PARAM_VALUE 1 mesh_tx 1-u64max
PARAM_VALUE 2 silent 0
DATA_SOURCE 0 hdev $0
DATA_SOURCE 1 mesh_tx r mgmt_mesh_next
PARAM_COMPARE 0 &hdev->mesh_pending != $0->mesh_pending.next
NOCHECK_CALL
LOCK2 0 &hdev->req_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct hci_dev)->req_lock

net/bluetooth/mgmt.c send_cancel() -> mesh_send_complete()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->cmd_sync_work_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->cmd_sync_work_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 hdev->cmd_sync_work_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hdev->cmd_sync_work_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 hdev->cmd_sync_work_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->req_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->req_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 hdev->req_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hdev->req_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 hdev->req_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->req_lock.wait_lock.owner (-1)
PARAM_VALUE 0 hdev->req_lock.wait_lock.owner_cpu u32max
PARAM_VALUE 1 mesh_tx 4096-ptr_max
PARAM_VALUE 1 mesh_tx->handle 1-255
PARAM_VALUE 2 silent 0
CAPPED_DATA 1 mesh_tx->handle 1
CAPPED_DATA 1 mesh_tx->sk 1
DATA_SOURCE 0 hdev $0
DATA_SOURCE 1 mesh_tx r mgmt_mesh_find
PARAM_COMPARE 0 &hdev->mesh_pending != $0->mesh_pending.next
NOCHECK_CALL
LOCK2 0 &hdev->req_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct hci_dev)->req_lock