Lines Matching refs:cmd

60 int mgmt_cmd_status(struct sock *sk, u16 index, u16 cmd, u8 status)  in mgmt_cmd_status()  argument
67 BT_DBG("sock %p, index %u, cmd %u, status %u", sk, index, cmd, status); in mgmt_cmd_status()
81 ev->opcode = cpu_to_le16(cmd); in mgmt_cmd_status()
90 int mgmt_cmd_complete(struct sock *sk, u16 index, u16 cmd, u8 status, in mgmt_cmd_complete() argument
111 ev->opcode = cpu_to_le16(cmd); in mgmt_cmd_complete()
127 struct mgmt_pending_cmd *cmd; in mgmt_pending_find() local
129 list_for_each_entry(cmd, &hdev->mgmt_pending, list) { in mgmt_pending_find()
130 if (hci_sock_get_channel(cmd->sk) != channel) in mgmt_pending_find()
132 if (cmd->opcode == opcode) in mgmt_pending_find()
133 return cmd; in mgmt_pending_find()
144 struct mgmt_pending_cmd *cmd; in mgmt_pending_find_data() local
146 list_for_each_entry(cmd, &hdev->mgmt_pending, list) { in mgmt_pending_find_data()
147 if (cmd->user_data != data) in mgmt_pending_find_data()
149 if (cmd->opcode == opcode) in mgmt_pending_find_data()
150 return cmd; in mgmt_pending_find_data()
157 void (*cb)(struct mgmt_pending_cmd *cmd, void *data), in mgmt_pending_foreach() argument
160 struct mgmt_pending_cmd *cmd, *tmp; in mgmt_pending_foreach() local
162 list_for_each_entry_safe(cmd, tmp, &hdev->mgmt_pending, list) { in mgmt_pending_foreach()
163 if (opcode > 0 && cmd->opcode != opcode) in mgmt_pending_foreach()
166 cb(cmd, data); in mgmt_pending_foreach()
174 struct mgmt_pending_cmd *cmd; in mgmt_pending_add() local
176 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); in mgmt_pending_add()
177 if (!cmd) in mgmt_pending_add()
180 cmd->opcode = opcode; in mgmt_pending_add()
181 cmd->index = hdev->id; in mgmt_pending_add()
183 cmd->param = kmemdup(data, len, GFP_KERNEL); in mgmt_pending_add()
184 if (!cmd->param) { in mgmt_pending_add()
185 kfree(cmd); in mgmt_pending_add()
189 cmd->param_len = len; in mgmt_pending_add()
191 cmd->sk = sk; in mgmt_pending_add()
194 list_add(&cmd->list, &hdev->mgmt_pending); in mgmt_pending_add()
196 return cmd; in mgmt_pending_add()
199 void mgmt_pending_free(struct mgmt_pending_cmd *cmd) in mgmt_pending_free() argument
201 sock_put(cmd->sk); in mgmt_pending_free()
202 kfree(cmd->param); in mgmt_pending_free()
203 kfree(cmd); in mgmt_pending_free()
206 void mgmt_pending_remove(struct mgmt_pending_cmd *cmd) in mgmt_pending_remove() argument
208 list_del(&cmd->list); in mgmt_pending_remove()
209 mgmt_pending_free(cmd); in mgmt_pending_remove()