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:
Mat Martineau 2012-10-23 15:24:18 -07:00 committed by Gustavo Padovan
parent 8eb200bd2f
commit d5f8a75d88
1 changed files with 9 additions and 0 deletions

View File

@ -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;