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/bt3c_cs.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/bt3c_cs.c')
-rw-r--r-- | drivers/bluetooth/bt3c_cs.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/bluetooth/bt3c_cs.c b/drivers/bluetooth/bt3c_cs.c index adf1750ea58d..2e0338d80f32 100644 --- a/drivers/bluetooth/bt3c_cs.c +++ b/drivers/bluetooth/bt3c_cs.c | |||
@@ -259,11 +259,11 @@ static void bt3c_receive(bt3c_info_t *info) | |||
259 | if (info->rx_state == RECV_WAIT_PACKET_TYPE) { | 259 | if (info->rx_state == RECV_WAIT_PACKET_TYPE) { |
260 | 260 | ||
261 | info->rx_skb->dev = (void *) info->hdev; | 261 | info->rx_skb->dev = (void *) info->hdev; |
262 | info->rx_skb->pkt_type = inb(iobase + DATA_L); | 262 | bt_cb(info->rx_skb)->pkt_type = inb(iobase + DATA_L); |
263 | inb(iobase + DATA_H); | 263 | inb(iobase + DATA_H); |
264 | //printk("bt3c: PACKET_TYPE=%02x\n", info->rx_skb->pkt_type); | 264 | //printk("bt3c: PACKET_TYPE=%02x\n", bt_cb(info->rx_skb)->pkt_type); |
265 | 265 | ||
266 | switch (info->rx_skb->pkt_type) { | 266 | switch (bt_cb(info->rx_skb)->pkt_type) { |
267 | 267 | ||
268 | case HCI_EVENT_PKT: | 268 | case HCI_EVENT_PKT: |
269 | info->rx_state = RECV_WAIT_EVENT_HEADER; | 269 | info->rx_state = RECV_WAIT_EVENT_HEADER; |
@@ -282,7 +282,7 @@ static void bt3c_receive(bt3c_info_t *info) | |||
282 | 282 | ||
283 | default: | 283 | default: |
284 | /* Unknown packet */ | 284 | /* Unknown packet */ |
285 | BT_ERR("Unknown HCI packet with type 0x%02x received", info->rx_skb->pkt_type); | 285 | BT_ERR("Unknown HCI packet with type 0x%02x received", bt_cb(info->rx_skb)->pkt_type); |
286 | info->hdev->stat.err_rx++; | 286 | info->hdev->stat.err_rx++; |
287 | clear_bit(HCI_RUNNING, &(info->hdev->flags)); | 287 | clear_bit(HCI_RUNNING, &(info->hdev->flags)); |
288 | 288 | ||
@@ -439,7 +439,7 @@ static int bt3c_hci_send_frame(struct sk_buff *skb) | |||
439 | 439 | ||
440 | info = (bt3c_info_t *) (hdev->driver_data); | 440 | info = (bt3c_info_t *) (hdev->driver_data); |
441 | 441 | ||
442 | switch (skb->pkt_type) { | 442 | switch (bt_cb(skb)->pkt_type) { |
443 | case HCI_COMMAND_PKT: | 443 | case HCI_COMMAND_PKT: |
444 | hdev->stat.cmd_tx++; | 444 | hdev->stat.cmd_tx++; |
445 | break; | 445 | break; |
@@ -452,7 +452,7 @@ static int bt3c_hci_send_frame(struct sk_buff *skb) | |||
452 | }; | 452 | }; |
453 | 453 | ||
454 | /* Prepend skb with frame type */ | 454 | /* Prepend skb with frame type */ |
455 | memcpy(skb_push(skb, 1), &(skb->pkt_type), 1); | 455 | memcpy(skb_push(skb, 1), &bt_cb(skb)->pkt_type, 1); |
456 | skb_queue_tail(&(info->txq), skb); | 456 | skb_queue_tail(&(info->txq), skb); |
457 | 457 | ||
458 | spin_lock_irqsave(&(info->lock), flags); | 458 | spin_lock_irqsave(&(info->lock), flags); |