Bluetooth: btmrvl: get rid of struct btmrvl_cmd
authorAmitkumar Karwar <akarwar@marvell.com>
Tue, 1 Oct 2013 19:19:13 +0000 (12:19 -0700)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 2 Oct 2013 07:36:15 +0000 (00:36 -0700)
Replace this proprietary structure with the standard one
(struct hci_command_hdr).

Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/btmrvl_drv.h
drivers/bluetooth/btmrvl_main.c

index 27068d1..42f7028 100644 (file)
@@ -116,12 +116,6 @@ struct btmrvl_private {
 #define PS_SLEEP                       0x01
 #define PS_AWAKE                       0x00
 
-struct btmrvl_cmd {
-       __le16 ocf_ogf;
-       u8 length;
-       u8 data[4];
-} __packed;
-
 struct btmrvl_event {
        u8 ec;          /* event counter */
        u8 length;
index d9d4229..a4da7c8 100644 (file)
@@ -170,20 +170,20 @@ static int btmrvl_send_sync_cmd(struct btmrvl_private *priv, u16 cmd_no,
                                const void *param, u8 len)
 {
        struct sk_buff *skb;
-       struct btmrvl_cmd *cmd;
+       struct hci_command_hdr *hdr;
 
-       skb = bt_skb_alloc(sizeof(*cmd), GFP_ATOMIC);
+       skb = bt_skb_alloc(HCI_COMMAND_HDR_SIZE + len, GFP_ATOMIC);
        if (skb == NULL) {
                BT_ERR("No free skb");
                return -ENOMEM;
        }
 
-       cmd = (struct btmrvl_cmd *) skb_put(skb, sizeof(*cmd));
-       cmd->ocf_ogf = cpu_to_le16(hci_opcode_pack(OGF, cmd_no));
-       cmd->length = len;
+       hdr = (struct hci_command_hdr *)skb_put(skb, HCI_COMMAND_HDR_SIZE);
+       hdr->opcode = cpu_to_le16(hci_opcode_pack(OGF, cmd_no));
+       hdr->plen = len;
 
        if (len)
-               memcpy(cmd->data, param, len);
+               memcpy(skb_put(skb, len), param, len);
 
        bt_cb(skb)->pkt_type = MRVL_VENDOR_PKT;