Bluetooth: Store parameter length with pending mgmt commands
As preparation for making generic cmd_complete responses possible we'll need to track the parameter length in addition to just a pointer to them. This patch adds the necessary variable to the pending_cmd struct. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
1b9b5ee530
commit
323b0b885b
|
@ -135,6 +135,7 @@ struct pending_cmd {
|
|||
u16 opcode;
|
||||
int index;
|
||||
void *param;
|
||||
size_t param_len;
|
||||
struct sock *sk;
|
||||
void *user_data;
|
||||
void (*cmd_complete)(struct pending_cmd *cmd, u8 status);
|
||||
|
@ -1205,14 +1206,13 @@ static struct pending_cmd *mgmt_pending_add(struct sock *sk, u16 opcode,
|
|||
cmd->opcode = opcode;
|
||||
cmd->index = hdev->id;
|
||||
|
||||
cmd->param = kmalloc(len, GFP_KERNEL);
|
||||
cmd->param = kmemdup(data, len, GFP_KERNEL);
|
||||
if (!cmd->param) {
|
||||
kfree(cmd);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (data)
|
||||
memcpy(cmd->param, data, len);
|
||||
cmd->param_len = len;
|
||||
|
||||
cmd->sk = sk;
|
||||
sock_hold(sk);
|
||||
|
|
Loading…
Reference in New Issue