diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2005-08-09 23:30:28 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2005-08-29 18:55:13 -0400 |
commit | 0d48d93947dd9ea21c5cdc76a8581b06a4a39281 (patch) | |
tree | 96a1cbfe83a02e27fed3d30f1ac9f2fe05c17506 /drivers/bluetooth/bpa10x.c | |
parent | 2eb25a6c34504254760e67172f7518d6bfdd7676 (diff) |
[Bluetooth]: Move packet type into the SKB control buffer
This patch moves the usage of packet type into the SKB control
buffer. After this patch it is now possible to shrink the sk_buff
structure and redefine its pkt_type.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/bluetooth/bpa10x.c')
-rw-r--r-- | drivers/bluetooth/bpa10x.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/bluetooth/bpa10x.c b/drivers/bluetooth/bpa10x.c index d6b81c1535dd..a1bf8f066c88 100644 --- a/drivers/bluetooth/bpa10x.c +++ b/drivers/bluetooth/bpa10x.c | |||
@@ -105,7 +105,7 @@ static void bpa10x_recv_bulk(struct bpa10x_data *data, unsigned char *buf, int c | |||
105 | if (skb) { | 105 | if (skb) { |
106 | memcpy(skb_put(skb, len), buf, len); | 106 | memcpy(skb_put(skb, len), buf, len); |
107 | skb->dev = (void *) data->hdev; | 107 | skb->dev = (void *) data->hdev; |
108 | skb->pkt_type = HCI_ACLDATA_PKT; | 108 | bt_cb(skb)->pkt_type = HCI_ACLDATA_PKT; |
109 | hci_recv_frame(skb); | 109 | hci_recv_frame(skb); |
110 | } | 110 | } |
111 | break; | 111 | break; |
@@ -117,7 +117,7 @@ static void bpa10x_recv_bulk(struct bpa10x_data *data, unsigned char *buf, int c | |||
117 | if (skb) { | 117 | if (skb) { |
118 | memcpy(skb_put(skb, len), buf, len); | 118 | memcpy(skb_put(skb, len), buf, len); |
119 | skb->dev = (void *) data->hdev; | 119 | skb->dev = (void *) data->hdev; |
120 | skb->pkt_type = HCI_SCODATA_PKT; | 120 | bt_cb(skb)->pkt_type = HCI_SCODATA_PKT; |
121 | hci_recv_frame(skb); | 121 | hci_recv_frame(skb); |
122 | } | 122 | } |
123 | break; | 123 | break; |
@@ -129,7 +129,7 @@ static void bpa10x_recv_bulk(struct bpa10x_data *data, unsigned char *buf, int c | |||
129 | if (skb) { | 129 | if (skb) { |
130 | memcpy(skb_put(skb, len), buf, len); | 130 | memcpy(skb_put(skb, len), buf, len); |
131 | skb->dev = (void *) data->hdev; | 131 | skb->dev = (void *) data->hdev; |
132 | skb->pkt_type = HCI_VENDOR_PKT; | 132 | bt_cb(skb)->pkt_type = HCI_VENDOR_PKT; |
133 | hci_recv_frame(skb); | 133 | hci_recv_frame(skb); |
134 | } | 134 | } |
135 | break; | 135 | break; |
@@ -190,7 +190,7 @@ static int bpa10x_recv_event(struct bpa10x_data *data, unsigned char *buf, int s | |||
190 | } | 190 | } |
191 | 191 | ||
192 | skb->dev = (void *) data->hdev; | 192 | skb->dev = (void *) data->hdev; |
193 | skb->pkt_type = pkt_type; | 193 | bt_cb(skb)->pkt_type = pkt_type; |
194 | 194 | ||
195 | memcpy(skb_put(skb, size), buf, size); | 195 | memcpy(skb_put(skb, size), buf, size); |
196 | 196 | ||
@@ -488,7 +488,7 @@ static int bpa10x_send_frame(struct sk_buff *skb) | |||
488 | struct hci_dev *hdev = (struct hci_dev *) skb->dev; | 488 | struct hci_dev *hdev = (struct hci_dev *) skb->dev; |
489 | struct bpa10x_data *data; | 489 | struct bpa10x_data *data; |
490 | 490 | ||
491 | BT_DBG("hdev %p skb %p type %d len %d", hdev, skb, skb->pkt_type, skb->len); | 491 | BT_DBG("hdev %p skb %p type %d len %d", hdev, skb, bt_cb(skb)->pkt_type, skb->len); |
492 | 492 | ||
493 | if (!hdev) { | 493 | if (!hdev) { |
494 | BT_ERR("Frame for unknown HCI device"); | 494 | BT_ERR("Frame for unknown HCI device"); |
@@ -501,9 +501,9 @@ static int bpa10x_send_frame(struct sk_buff *skb) | |||
501 | data = hdev->driver_data; | 501 | data = hdev->driver_data; |
502 | 502 | ||
503 | /* Prepend skb with frame type */ | 503 | /* Prepend skb with frame type */ |
504 | memcpy(skb_push(skb, 1), &(skb->pkt_type), 1); | 504 | memcpy(skb_push(skb, 1), &bt_cb(skb)->pkt_type, 1); |
505 | 505 | ||
506 | switch (skb->pkt_type) { | 506 | switch (bt_cb(skb)->pkt_type) { |
507 | case HCI_COMMAND_PKT: | 507 | case HCI_COMMAND_PKT: |
508 | hdev->stat.cmd_tx++; | 508 | hdev->stat.cmd_tx++; |
509 | skb_queue_tail(&data->cmd_queue, skb); | 509 | skb_queue_tail(&data->cmd_queue, skb); |