Loading net/bluetooth/mgmt.c +30 −30 Original line number Diff line number Diff line Loading @@ -212,6 +212,36 @@ static u8 mgmt_status(u8 hci_status) return MGMT_STATUS_FAILED; } static int mgmt_event(u16 event, struct hci_dev *hdev, void *data, u16 data_len, struct sock *skip_sk) { struct sk_buff *skb; struct mgmt_hdr *hdr; skb = alloc_skb(sizeof(*hdr) + data_len, GFP_KERNEL); if (!skb) return -ENOMEM; hdr = (void *) skb_put(skb, sizeof(*hdr)); hdr->opcode = cpu_to_le16(event); if (hdev) hdr->index = cpu_to_le16(hdev->id); else hdr->index = cpu_to_le16(MGMT_INDEX_NONE); hdr->len = cpu_to_le16(data_len); if (data) memcpy(skb_put(skb, data_len), data, data_len); /* Time stamp */ __net_timestamp(skb); hci_send_to_control(skb, skip_sk); kfree_skb(skb); return 0; } static int cmd_status(struct sock *sk, u16 index, u16 cmd, u8 status) { struct sk_buff *skb; Loading Loading @@ -1364,36 +1394,6 @@ static int set_powered(struct sock *sk, struct hci_dev *hdev, void *data, return err; } static int mgmt_event(u16 event, struct hci_dev *hdev, void *data, u16 data_len, struct sock *skip_sk) { struct sk_buff *skb; struct mgmt_hdr *hdr; skb = alloc_skb(sizeof(*hdr) + data_len, GFP_KERNEL); if (!skb) return -ENOMEM; hdr = (void *) skb_put(skb, sizeof(*hdr)); hdr->opcode = cpu_to_le16(event); if (hdev) hdr->index = cpu_to_le16(hdev->id); else hdr->index = cpu_to_le16(MGMT_INDEX_NONE); hdr->len = cpu_to_le16(data_len); if (data) memcpy(skb_put(skb, data_len), data, data_len); /* Time stamp */ __net_timestamp(skb); hci_send_to_control(skb, skip_sk); kfree_skb(skb); return 0; } static int new_settings(struct hci_dev *hdev, struct sock *skip) { __le32 ev; Loading Loading
net/bluetooth/mgmt.c +30 −30 Original line number Diff line number Diff line Loading @@ -212,6 +212,36 @@ static u8 mgmt_status(u8 hci_status) return MGMT_STATUS_FAILED; } static int mgmt_event(u16 event, struct hci_dev *hdev, void *data, u16 data_len, struct sock *skip_sk) { struct sk_buff *skb; struct mgmt_hdr *hdr; skb = alloc_skb(sizeof(*hdr) + data_len, GFP_KERNEL); if (!skb) return -ENOMEM; hdr = (void *) skb_put(skb, sizeof(*hdr)); hdr->opcode = cpu_to_le16(event); if (hdev) hdr->index = cpu_to_le16(hdev->id); else hdr->index = cpu_to_le16(MGMT_INDEX_NONE); hdr->len = cpu_to_le16(data_len); if (data) memcpy(skb_put(skb, data_len), data, data_len); /* Time stamp */ __net_timestamp(skb); hci_send_to_control(skb, skip_sk); kfree_skb(skb); return 0; } static int cmd_status(struct sock *sk, u16 index, u16 cmd, u8 status) { struct sk_buff *skb; Loading Loading @@ -1364,36 +1394,6 @@ static int set_powered(struct sock *sk, struct hci_dev *hdev, void *data, return err; } static int mgmt_event(u16 event, struct hci_dev *hdev, void *data, u16 data_len, struct sock *skip_sk) { struct sk_buff *skb; struct mgmt_hdr *hdr; skb = alloc_skb(sizeof(*hdr) + data_len, GFP_KERNEL); if (!skb) return -ENOMEM; hdr = (void *) skb_put(skb, sizeof(*hdr)); hdr->opcode = cpu_to_le16(event); if (hdev) hdr->index = cpu_to_le16(hdev->id); else hdr->index = cpu_to_le16(MGMT_INDEX_NONE); hdr->len = cpu_to_le16(data_len); if (data) memcpy(skb_put(skb, data_len), data, data_len); /* Time stamp */ __net_timestamp(skb); hci_send_to_control(skb, skip_sk); kfree_skb(skb); return 0; } static int new_settings(struct hci_dev *hdev, struct sock *skip) { __le32 ev; Loading