mirror of https://gitee.com/openkylin/linux.git
Bluetooth: Flag ACL frames as complete for AMP controllers
AMP controllers expect to transmit only "complete" ACL frames. These frames have both the "start" and "cont" bits set. AMP does not allow fragmented ACLs. Signed-off-by: Mat Martineau <mathewm@codeaurora.org> Acked-by: Marcel Holtmann <marcel@holtmann.org> Acked-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
This commit is contained in:
parent
8eb200bd2f
commit
d5f8a75d88
|
@ -763,6 +763,15 @@ static void l2cap_do_send(struct l2cap_chan *chan, struct sk_buff *skb)
|
||||||
BT_DBG("chan %p, skb %p len %d priority %u", chan, skb, skb->len,
|
BT_DBG("chan %p, skb %p len %d priority %u", chan, skb, skb->len,
|
||||||
skb->priority);
|
skb->priority);
|
||||||
|
|
||||||
|
if (chan->hs_hcon && !__chan_is_moving(chan)) {
|
||||||
|
if (chan->hs_hchan)
|
||||||
|
hci_send_acl(chan->hs_hchan, skb, ACL_COMPLETE);
|
||||||
|
else
|
||||||
|
kfree_skb(skb);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!test_bit(FLAG_FLUSHABLE, &chan->flags) &&
|
if (!test_bit(FLAG_FLUSHABLE, &chan->flags) &&
|
||||||
lmp_no_flush_capable(hcon->hdev))
|
lmp_no_flush_capable(hcon->hdev))
|
||||||
flags = ACL_START_NO_FLUSH;
|
flags = ACL_START_NO_FLUSH;
|
||||||
|
|
Loading…
Reference in New Issue