diff options
Diffstat (limited to 'drivers/bluetooth/hci_bcsp.c')
| -rw-r--r-- | drivers/bluetooth/hci_bcsp.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/bluetooth/hci_bcsp.c b/drivers/bluetooth/hci_bcsp.c index 858fddb046de..0ee324e1265d 100644 --- a/drivers/bluetooth/hci_bcsp.c +++ b/drivers/bluetooth/hci_bcsp.c | |||
| @@ -149,7 +149,7 @@ static int bcsp_enqueue(struct hci_uart *hu, struct sk_buff *skb) | |||
| 149 | return 0; | 149 | return 0; |
| 150 | } | 150 | } |
| 151 | 151 | ||
| 152 | switch (skb->pkt_type) { | 152 | switch (bt_cb(skb)->pkt_type) { |
| 153 | case HCI_ACLDATA_PKT: | 153 | case HCI_ACLDATA_PKT: |
| 154 | case HCI_COMMAND_PKT: | 154 | case HCI_COMMAND_PKT: |
| 155 | skb_queue_tail(&bcsp->rel, skb); | 155 | skb_queue_tail(&bcsp->rel, skb); |
| @@ -227,7 +227,7 @@ static struct sk_buff *bcsp_prepare_pkt(struct bcsp_struct *bcsp, u8 *data, | |||
| 227 | if (!nskb) | 227 | if (!nskb) |
| 228 | return NULL; | 228 | return NULL; |
| 229 | 229 | ||
| 230 | nskb->pkt_type = pkt_type; | 230 | bt_cb(nskb)->pkt_type = pkt_type; |
| 231 | 231 | ||
| 232 | bcsp_slip_msgdelim(nskb); | 232 | bcsp_slip_msgdelim(nskb); |
| 233 | 233 | ||
| @@ -286,7 +286,7 @@ static struct sk_buff *bcsp_dequeue(struct hci_uart *hu) | |||
| 286 | since they have priority */ | 286 | since they have priority */ |
| 287 | 287 | ||
| 288 | if ((skb = skb_dequeue(&bcsp->unrel)) != NULL) { | 288 | if ((skb = skb_dequeue(&bcsp->unrel)) != NULL) { |
| 289 | struct sk_buff *nskb = bcsp_prepare_pkt(bcsp, skb->data, skb->len, skb->pkt_type); | 289 | struct sk_buff *nskb = bcsp_prepare_pkt(bcsp, skb->data, skb->len, bt_cb(skb)->pkt_type); |
| 290 | if (nskb) { | 290 | if (nskb) { |
| 291 | kfree_skb(skb); | 291 | kfree_skb(skb); |
| 292 | return nskb; | 292 | return nskb; |
| @@ -303,7 +303,7 @@ static struct sk_buff *bcsp_dequeue(struct hci_uart *hu) | |||
| 303 | spin_lock_irqsave(&bcsp->unack.lock, flags); | 303 | spin_lock_irqsave(&bcsp->unack.lock, flags); |
| 304 | 304 | ||
| 305 | if (bcsp->unack.qlen < BCSP_TXWINSIZE && (skb = skb_dequeue(&bcsp->rel)) != NULL) { | 305 | if (bcsp->unack.qlen < BCSP_TXWINSIZE && (skb = skb_dequeue(&bcsp->rel)) != NULL) { |
| 306 | struct sk_buff *nskb = bcsp_prepare_pkt(bcsp, skb->data, skb->len, skb->pkt_type); | 306 | struct sk_buff *nskb = bcsp_prepare_pkt(bcsp, skb->data, skb->len, bt_cb(skb)->pkt_type); |
| 307 | if (nskb) { | 307 | if (nskb) { |
| 308 | __skb_queue_tail(&bcsp->unack, skb); | 308 | __skb_queue_tail(&bcsp->unack, skb); |
| 309 | mod_timer(&bcsp->tbcsp, jiffies + HZ / 4); | 309 | mod_timer(&bcsp->tbcsp, jiffies + HZ / 4); |
| @@ -401,7 +401,7 @@ static void bcsp_handle_le_pkt(struct hci_uart *hu) | |||
| 401 | if (!nskb) | 401 | if (!nskb) |
| 402 | return; | 402 | return; |
| 403 | memcpy(skb_put(nskb, 4), conf_rsp_pkt, 4); | 403 | memcpy(skb_put(nskb, 4), conf_rsp_pkt, 4); |
| 404 | nskb->pkt_type = BCSP_LE_PKT; | 404 | bt_cb(nskb)->pkt_type = BCSP_LE_PKT; |
| 405 | 405 | ||
| 406 | skb_queue_head(&bcsp->unrel, nskb); | 406 | skb_queue_head(&bcsp->unrel, nskb); |
| 407 | hci_uart_tx_wakeup(hu); | 407 | hci_uart_tx_wakeup(hu); |
| @@ -483,14 +483,14 @@ static inline void bcsp_complete_rx_pkt(struct hci_uart *hu) | |||
| 483 | bcsp_pkt_cull(bcsp); | 483 | bcsp_pkt_cull(bcsp); |
| 484 | if ((bcsp->rx_skb->data[1] & 0x0f) == 6 && | 484 | if ((bcsp->rx_skb->data[1] & 0x0f) == 6 && |
| 485 | bcsp->rx_skb->data[0] & 0x80) { | 485 | bcsp->rx_skb->data[0] & 0x80) { |
| 486 | bcsp->rx_skb->pkt_type = HCI_ACLDATA_PKT; | 486 | bt_cb(bcsp->rx_skb)->pkt_type = HCI_ACLDATA_PKT; |
| 487 | pass_up = 1; | 487 | pass_up = 1; |
| 488 | } else if ((bcsp->rx_skb->data[1] & 0x0f) == 5 && | 488 | } else if ((bcsp->rx_skb->data[1] & 0x0f) == 5 && |
| 489 | bcsp->rx_skb->data[0] & 0x80) { | 489 | bcsp->rx_skb->data[0] & 0x80) { |
| 490 | bcsp->rx_skb->pkt_type = HCI_EVENT_PKT; | 490 | bt_cb(bcsp->rx_skb)->pkt_type = HCI_EVENT_PKT; |
| 491 | pass_up = 1; | 491 | pass_up = 1; |
| 492 | } else if ((bcsp->rx_skb->data[1] & 0x0f) == 7) { | 492 | } else if ((bcsp->rx_skb->data[1] & 0x0f) == 7) { |
| 493 | bcsp->rx_skb->pkt_type = HCI_SCODATA_PKT; | 493 | bt_cb(bcsp->rx_skb)->pkt_type = HCI_SCODATA_PKT; |
| 494 | pass_up = 1; | 494 | pass_up = 1; |
| 495 | } else if ((bcsp->rx_skb->data[1] & 0x0f) == 1 && | 495 | } else if ((bcsp->rx_skb->data[1] & 0x0f) == 1 && |
| 496 | !(bcsp->rx_skb->data[0] & 0x80)) { | 496 | !(bcsp->rx_skb->data[0] & 0x80)) { |
| @@ -512,7 +512,7 @@ static inline void bcsp_complete_rx_pkt(struct hci_uart *hu) | |||
| 512 | hdr.evt = 0xff; | 512 | hdr.evt = 0xff; |
| 513 | hdr.plen = bcsp->rx_skb->len; | 513 | hdr.plen = bcsp->rx_skb->len; |
| 514 | memcpy(skb_push(bcsp->rx_skb, HCI_EVENT_HDR_SIZE), &hdr, HCI_EVENT_HDR_SIZE); | 514 | memcpy(skb_push(bcsp->rx_skb, HCI_EVENT_HDR_SIZE), &hdr, HCI_EVENT_HDR_SIZE); |
| 515 | bcsp->rx_skb->pkt_type = HCI_EVENT_PKT; | 515 | bt_cb(bcsp->rx_skb)->pkt_type = HCI_EVENT_PKT; |
| 516 | 516 | ||
| 517 | hci_recv_frame(bcsp->rx_skb); | 517 | hci_recv_frame(bcsp->rx_skb); |
| 518 | } else { | 518 | } else { |
