summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustavo Padovan <gustavo.padovan@collabora.co.uk>2013-10-21 22:22:24 +0200
committerMarcel Holtmann <marcel@holtmann.org>2013-10-21 22:50:55 +0200
commit0e790c64f37a1a43c147720bdfa03b7c5538e24a (patch)
tree62184513e2436b5f331badd2ca050a237d0fb024
parentBluetooth: Remove parent socket usage from l2cap_core.c (diff)
downloadlinux-0e790c64f37a1a43c147720bdfa03b7c5538e24a.tar.xz
linux-0e790c64f37a1a43c147720bdfa03b7c5538e24a.zip
Bluetooth: Add L2CAP channel to skb private data
Adding the channel to the skb private data makes possible to us know which channel the skb we have came from. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
-rw-r--r--include/net/bluetooth/bluetooth.h1
-rw-r--r--net/bluetooth/l2cap_sock.c2
2 files changed, 3 insertions, 0 deletions
diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h
index bf2ddffdae2d..a707a0209df4 100644
--- a/include/net/bluetooth/bluetooth.h
+++ b/include/net/bluetooth/bluetooth.h
@@ -282,6 +282,7 @@ struct bt_skb_cb {
__u8 incoming;
__u16 expect;
__u8 force_active;
+ struct l2cap_chan *chan;
struct l2cap_ctrl control;
struct hci_req_ctrl req;
bdaddr_t bdaddr;
diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c
index a159b0e05202..cba3162dc33d 100644
--- a/net/bluetooth/l2cap_sock.c
+++ b/net/bluetooth/l2cap_sock.c
@@ -1174,6 +1174,8 @@ static struct sk_buff *l2cap_sock_alloc_skb_cb(struct l2cap_chan *chan,
if (!skb)
return ERR_PTR(err);
+ bt_cb(skb)->chan = chan;
+
return skb;
}