Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

net/bluetooth/mgmt.c set_advertising() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 128
BUF_SIZE 0 hdev (-1)-s32max
BUF_SIZE 0 hdev (-1)-s32max
CAPPED_DATA 0 &hdev->lock 1
DATA_SOURCE 0 hdev $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &mgmt_chan_list_lock
LOCK2 sk
LOCK2 0 &hdev->lock
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk
TYPE_LOCK (struct hci_dev)->lock

drivers/bluetooth/btusb.c btusb_notify() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 0
BUF_SIZE 0 hdev (-1)-0,9112,9128,9144,9488
BUF_SIZE 0 hdev (-1)-0,9112,9128,9144,9488
BUF_SIZE 0 hdev->recv_event (-1),1-s32max
DATA_SOURCE 0 hdev $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->data_len
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->end
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->len
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->prev->data_len
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->prev->end
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->prev->len
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->prev->tail
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->prev->truesize
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->tail
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->truesize
USER_PTR 0 hdev->recv_event->data
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &hdev->lock
HALF_LOCKED2 0 &hdev->req_lock

drivers/bluetooth/btusb.c btusb_notify() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 0
BUF_SIZE 0 hdev (-1)-0,9112,9128,9144,9488
BUF_SIZE 0 hdev (-1)-0,9112,9128,9144,9488
BUF_SIZE 0 hdev->recv_event (-1),1-s32max
DATA_SOURCE 0 hdev $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->data_len
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->end
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->len
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->prev->data_len
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->prev->end
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->prev->len
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->prev->tail
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->prev->truesize
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->tail
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->truesize
USER_PTR 0 hdev->recv_event->data
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &hdev->lock
HALF_LOCKED2 0 &hdev->req_lock

drivers/bluetooth/btusb.c btusb_send_frame() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 0
BUF_SIZE 0 hdev (-1)-s32max
BUF_SIZE 0 hdev (-1)-s32max
BUF_SIZE 0 hdev->dev.parent (-1),1616
BUF_SIZE 0 hdev->hci_drv (-1),32
BUF_SIZE 0 hdev->sent_cmd (-1),240
CAPPED_DATA 0 hdev 1
DATA_SOURCE 0 hdev $0
STR_LEN 0 hdev (-1),23,63
STR_LEN 0 hdev (-1),23,63
RX_PATH
TASK_NOT_RUNNING
USER_PTR 0 hdev->sent_cmd->data
HALF_LOCKED2 0 &hdev->req_lock

drivers/bluetooth/btusb.c btusb_send_frame_intel() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 0
BUF_SIZE 0 hdev (-1),1-u16max
BUF_SIZE 0 hdev (-1),1-u16max
BUF_SIZE 0 hdev->sent_cmd (-1),240
DATA_SOURCE 0 hdev $0
STR_LEN 0 hdev (-1),23,63
STR_LEN 0 hdev (-1),23,63
TASK_NOT_RUNNING
USER_PTR 0 hdev->sent_cmd->data
HALF_LOCKED2 0 &hdev->req_lock

net/bluetooth/hci_sync.c is_advertising_allowed() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 128
BUF_SIZE 0 hdev (-1),1-u16max
BUF_SIZE 0 hdev (-1),1-u16max
DATA_SOURCE 0 hdev $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 hdev->adv_data_len
NO_OVERFLOW_SIMPLE 0 hdev->scan_rsp_data_len
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &hdev->lock
HALF_LOCKED2 0 &hdev->req_lock

net/bluetooth/hci_sync.c is_advertising_allowed() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 128
BUF_SIZE 0 hdev (-1),1-u16max
BUF_SIZE 0 hdev (-1),1-u16max
DATA_SOURCE 0 hdev $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 hdev->adv_data_len
NO_OVERFLOW_SIMPLE 0 hdev->scan_rsp_data_len
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &hdev->lock
HALF_LOCKED2 0 &hdev->req_lock

net/bluetooth/hci_core.c hci_chan_sent() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 1,128
CAPPED_DATA 0 hdev 1
CAPPED_DATA 1 type 1
DATA_SOURCE 0 hdev $0
DATA_SOURCE 1 type $1
HARD_MAX 1 type 128
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock

net/bluetooth/hci_core.c hci_low_sent() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 0,2,130-132
CAPPED_DATA 0 hdev 1
CAPPED_DATA 1 type 1
DATA_SOURCE 0 hdev $0
DATA_SOURCE 1 type $1
HARD_MAX 1 type 132
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock

net/bluetooth/hci_core.c hci_prio_recalculate() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 1,128
CAPPED_DATA 0 hdev 1
CAPPED_DATA 1 type 1
DATA_SOURCE 0 hdev $0
DATA_SOURCE 1 type $1
HARD_MAX 1 type 128
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock

net/bluetooth/hci_core.c hci_recv_frame() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 130
BUF_SIZE 0 hdev s32min-(-1),1-s32max
BUF_SIZE 0 hdev s32min-(-1),1-s32max
BUF_SIZE 0 hdev->sent_cmd (-1)-s32max
DATA_SOURCE 0 hdev $0
STR_LEN 0 hdev (-1),23,63
STR_LEN 0 hdev (-1),23,63
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 hdev->scan_rsp_data_len
NO_OVERFLOW_SIMPLE 0 hdev->stat.byte_rx
NO_OVERFLOW_SIMPLE 0 hdev->stat.byte_tx
UNITS 0 hdev unit_byte
USER_PTR 0 hdev->sent_cmd->data
HALF_LOCKED2 &btmtk_data->isorxlock
HALF_LOCKED2 &data->hci_rx_lock
HALF_LOCKED2 &data->lock
HALF_LOCKED2 &data->rxlock
HALF_LOCKED2 &hdev->req_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &ring->lock
HALF_LOCKED2 flags
HALF_LOCKED2 0 &hdev->req_lock

net/bluetooth/hci_core.c hci_recv_frame() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 131
BUF_SIZE 0 hdev s32min-(-1),1-s32max
BUF_SIZE 0 hdev s32min-(-1),1-s32max
BUF_SIZE 0 hdev->sent_cmd (-1)-s32max
DATA_SOURCE 0 hdev $0
STR_LEN 0 hdev (-1),23,63
STR_LEN 0 hdev (-1),23,63
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 hdev->scan_rsp_data_len
NO_OVERFLOW_SIMPLE 0 hdev->stat.byte_rx
NO_OVERFLOW_SIMPLE 0 hdev->stat.byte_tx
UNITS 0 hdev unit_byte
USER_PTR 0 hdev->sent_cmd->data
HALF_LOCKED2 &btmtk_data->isorxlock
HALF_LOCKED2 &data->hci_rx_lock
HALF_LOCKED2 &data->lock
HALF_LOCKED2 &data->rxlock
HALF_LOCKED2 &hdev->req_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &ring->lock
HALF_LOCKED2 flags
HALF_LOCKED2 0 &hdev->req_lock

net/bluetooth/hci_core.c hci_recv_frame() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 132
BUF_SIZE 0 hdev s32min-(-1),1-s32max
BUF_SIZE 0 hdev s32min-(-1),1-s32max
BUF_SIZE 0 hdev->sent_cmd (-1)-s32max
DATA_SOURCE 0 hdev $0
STR_LEN 0 hdev (-1),23,63
STR_LEN 0 hdev (-1),23,63
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 hdev->scan_rsp_data_len
NO_OVERFLOW_SIMPLE 0 hdev->stat.byte_rx
NO_OVERFLOW_SIMPLE 0 hdev->stat.byte_tx
UNITS 0 hdev unit_byte
USER_PTR 0 hdev->sent_cmd->data
HALF_LOCKED2 &btmtk_data->isorxlock
HALF_LOCKED2 &data->hci_rx_lock
HALF_LOCKED2 &data->lock
HALF_LOCKED2 &data->rxlock
HALF_LOCKED2 &hdev->req_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &ring->lock
HALF_LOCKED2 flags
HALF_LOCKED2 0 &hdev->req_lock

net/bluetooth/hci_core.c hci_sched_acl() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 1
CAPPED_DATA 0 hdev 1
DATA_SOURCE 0 hdev $0
HALF_LOCKED2 &pool->lock

net/bluetooth/hci_core.c hci_sched_iso() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 130-132
CAPPED_DATA 0 hdev 1
DATA_SOURCE 0 hdev $0
DATA_SOURCE 1 type $1
HARD_MAX 1 type 132
HALF_LOCKED2 &pool->lock

net/bluetooth/hci_core.c hci_sched_le() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 128
CAPPED_DATA 0 hdev 1
DATA_SOURCE 0 hdev $0
HALF_LOCKED2 &pool->lock

net/bluetooth/hci_core.c hci_sched_sco() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 0,2
CAPPED_DATA 0 hdev 1
DATA_SOURCE 0 hdev $0
DATA_SOURCE 1 type $1
HARD_MAX 1 type 2
HALF_LOCKED2 &pool->lock

net/bluetooth/hci_conn.c hci_conn_del() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 1 type 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &hdev->lock
HALF_LOCKED2 &hdev->req_lock
HALF_LOCKED2 &pool->lock

net/bluetooth/hci_conn.c hci_conn_del() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 128
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &hdev->lock
HALF_LOCKED2 &hdev->req_lock
HALF_LOCKED2 &pool->lock

net/bluetooth/hci_conn.c hci_conn_del() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 128
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &hdev->lock
HALF_LOCKED2 &hdev->req_lock
HALF_LOCKED2 &pool->lock

net/bluetooth/hci_conn.c hci_conn_del() -> hci_conn_num()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 type 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &hdev->lock
HALF_LOCKED2 &hdev->req_lock
HALF_LOCKED2 &pool->lock