aboutsummaryrefslogtreecommitdiff
path: root/net/bluetooth/hci_core.c
diff options
context:
space:
mode:
authorGravatar Andrei Emeltchenko <andrei.emeltchenko@intel.com> 2012-09-21 12:30:04 +0300
committerGravatar Gustavo Padovan <gustavo.padovan@collabora.co.uk> 2012-09-27 18:13:04 -0300
commitee22be7ef4f1d010a76fb41dc8fc687d38e606a3 (patch)
treeb4f21cd3c5d6a4b2931beea37fa632ef0c444f5f /net/bluetooth/hci_core.c
parentbluetooth: Remove unneeded batostr function (diff)
downloadlinux-ee22be7ef4f1d010a76fb41dc8fc687d38e606a3.tar.gz
linux-ee22be7ef4f1d010a76fb41dc8fc687d38e606a3.tar.bz2
linux-ee22be7ef4f1d010a76fb41dc8fc687d38e606a3.zip
Bluetooth: Factor out hci_queue_acl
Use hci_chan as parameter instead of hci_conn as we need logical handle from hci_chan for AMP link. Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Diffstat (limited to 'net/bluetooth/hci_core.c')
-rw-r--r--net/bluetooth/hci_core.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index ab4fca2448d5..bd26cb52aaa9 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -2151,9 +2151,10 @@ static void hci_add_acl_hdr(struct sk_buff *skb, __u16 handle, __u16 flags)
hdr->dlen = cpu_to_le16(len);
}
-static void hci_queue_acl(struct hci_conn *conn, struct sk_buff_head *queue,
+static void hci_queue_acl(struct hci_chan *chan, struct sk_buff_head *queue,
struct sk_buff *skb, __u16 flags)
{
+ struct hci_conn *conn = chan->conn;
struct hci_dev *hdev = conn->hdev;
struct sk_buff *list;
@@ -2200,14 +2201,13 @@ static void hci_queue_acl(struct hci_conn *conn, struct sk_buff_head *queue,
void hci_send_acl(struct hci_chan *chan, struct sk_buff *skb, __u16 flags)
{
- struct hci_conn *conn = chan->conn;
- struct hci_dev *hdev = conn->hdev;
+ struct hci_dev *hdev = chan->conn->hdev;
BT_DBG("%s chan %p flags 0x%4.4x", hdev->name, chan, flags);
skb->dev = (void *) hdev;
- hci_queue_acl(conn, &chan->data_q, skb, flags);
+ hci_queue_acl(chan, &chan->data_q, skb, flags);
queue_work(hdev->workqueue, &hdev->tx_work);
}