diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2013-10-03 02:54:11 -0700 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2013-10-03 13:05:36 +0300 |
commit | b99707d7ee887f9df8b3f7cf75e1e9dbf3206df3 (patch) | |
tree | 7b212060090d48fbbcf15daef8dc55666debba71 /net/bluetooth | |
parent | ae4fd2d37433ba58e17adbf1694b7b66eeaec76c (diff) | |
download | linux-b99707d7ee887f9df8b3f7cf75e1e9dbf3206df3.tar.gz linux-b99707d7ee887f9df8b3f7cf75e1e9dbf3206df3.tar.xz |
Bluetooth: Drop packets on ATT fixed channel on BR/EDR
The ATT fixed channel is only valid when using LE connections. On
BR/EDR it is required to go through L2CAP connection oriented
channel for ATT.
Drop ATT packets when they are received on a BR/EDR connection.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Diffstat (limited to 'net/bluetooth')
-rw-r--r-- | net/bluetooth/l2cap_core.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index 102a510a153a..583517e1dd43 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c @@ -6431,8 +6431,12 @@ drop: static void l2cap_att_channel(struct l2cap_conn *conn, struct sk_buff *skb) { + struct hci_conn *hcon = conn->hcon; struct l2cap_chan *chan; + if (hcon->type != LE_LINK) + goto drop; + chan = l2cap_global_chan_by_scid(BT_CONNECTED, L2CAP_CID_ATT, conn->src, conn->dst); if (!chan) |