From: Andrei Emeltchenko <andrei.emeltchenko@xxxxxxxxx> For AMP we always assume EFS L2CAP option. Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@xxxxxxxxx> --- include/net/bluetooth/l2cap.h | 2 ++ net/bluetooth/l2cap_core.c | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h index a5d6d16..2cf7229 100644 --- a/include/net/bluetooth/l2cap.h +++ b/include/net/bluetooth/l2cap.h @@ -509,6 +509,8 @@ struct l2cap_chan { __u32 remote_acc_lat; __u32 remote_flush_to; + __u8 ctrl_id; + struct delayed_work chan_timer; struct delayed_work retrans_timer; struct delayed_work monitor_timer; diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index 12da90b..d99eaf9 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c @@ -5468,8 +5468,13 @@ void l2cap_connect_cfm(struct hci_conn *hcon, u8 status) void l2cap_chan_create_cfm(struct hci_conn *hcon, u8 remote_id) { struct amp_mgr *mgr = hcon->amp_mgr; + struct l2cap_chan *chan = mgr->bredr_chan; - l2cap_send_chan_create_req(mgr->bredr_chan, remote_id); + /* Set Extended Flow Spec for AMP */ + set_bit(FLAG_EFS_ENABLE, &chan->flags); + chan->ctrl_id = remote_id; + + l2cap_send_chan_create_req(chan, remote_id); } int l2cap_disconn_ind(struct hci_conn *hcon) -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html