diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2013-10-10 19:52:43 -0400 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2013-10-11 03:45:34 -0400 |
commit | e1a26170692dc1e5fbe0ccd98ef86cc9fcd31a64 (patch) | |
tree | e0960ade9f09c39dc44c92604e7f758760ea1fce /drivers/bluetooth/btmrvl_sdio.c | |
parent | 8909f6d2c450d0a878bcb1d1184ed0114c5724c9 (diff) |
Bluetooth: Provide hdev parameter to hci_recv_frame() driver callback
To avoid casting skb->dev into hdev, just let the drivers provide
the hdev directly when calling hci_recv_frame() function.
This patch also fixes up all drivers to provide the hdev.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Diffstat (limited to 'drivers/bluetooth/btmrvl_sdio.c')
-rw-r--r-- | drivers/bluetooth/btmrvl_sdio.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/bluetooth/btmrvl_sdio.c b/drivers/bluetooth/btmrvl_sdio.c index 332475e400cf..fabcf5bb48af 100644 --- a/drivers/bluetooth/btmrvl_sdio.c +++ b/drivers/bluetooth/btmrvl_sdio.c | |||
@@ -600,15 +600,14 @@ static int btmrvl_sdio_card_to_host(struct btmrvl_private *priv) | |||
600 | case HCI_SCODATA_PKT: | 600 | case HCI_SCODATA_PKT: |
601 | case HCI_EVENT_PKT: | 601 | case HCI_EVENT_PKT: |
602 | bt_cb(skb)->pkt_type = type; | 602 | bt_cb(skb)->pkt_type = type; |
603 | skb->dev = (void *)hdev; | ||
604 | skb_put(skb, buf_len); | 603 | skb_put(skb, buf_len); |
605 | skb_pull(skb, SDIO_HEADER_LEN); | 604 | skb_pull(skb, SDIO_HEADER_LEN); |
606 | 605 | ||
607 | if (type == HCI_EVENT_PKT) { | 606 | if (type == HCI_EVENT_PKT) { |
608 | if (btmrvl_check_evtpkt(priv, skb)) | 607 | if (btmrvl_check_evtpkt(priv, skb)) |
609 | hci_recv_frame(skb); | 608 | hci_recv_frame(hdev, skb); |
610 | } else { | 609 | } else { |
611 | hci_recv_frame(skb); | 610 | hci_recv_frame(hdev, skb); |
612 | } | 611 | } |
613 | 612 | ||
614 | hdev->stat.byte_rx += buf_len; | 613 | hdev->stat.byte_rx += buf_len; |
@@ -616,12 +615,11 @@ static int btmrvl_sdio_card_to_host(struct btmrvl_private *priv) | |||
616 | 615 | ||
617 | case MRVL_VENDOR_PKT: | 616 | case MRVL_VENDOR_PKT: |
618 | bt_cb(skb)->pkt_type = HCI_VENDOR_PKT; | 617 | bt_cb(skb)->pkt_type = HCI_VENDOR_PKT; |
619 | skb->dev = (void *)hdev; | ||
620 | skb_put(skb, buf_len); | 618 | skb_put(skb, buf_len); |
621 | skb_pull(skb, SDIO_HEADER_LEN); | 619 | skb_pull(skb, SDIO_HEADER_LEN); |
622 | 620 | ||
623 | if (btmrvl_process_event(priv, skb)) | 621 | if (btmrvl_process_event(priv, skb)) |
624 | hci_recv_frame(skb); | 622 | hci_recv_frame(hdev, skb); |
625 | 623 | ||
626 | hdev->stat.byte_rx += buf_len; | 624 | hdev->stat.byte_rx += buf_len; |
627 | break; | 625 | break; |