diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index 65c53719b76ce89c0b204d403b21b136ed45d5b0..102a510a153ad89d8f8050138f33157ef90debce 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c @@ -6403,8 +6403,12 @@ static void l2cap_data_channel(struct l2cap_conn *conn, u16 cid, static void l2cap_conless_channel(struct l2cap_conn *conn, __le16 psm, struct sk_buff *skb) { + struct hci_conn *hcon = conn->hcon; struct l2cap_chan *chan; + if (hcon->type != ACL_LINK) + goto drop; + chan = l2cap_global_chan_by_psm(0, psm, conn->src, conn->dst); if (!chan) goto drop;