@@ -411,10 +411,17 @@ static struct att_send_op *pick_next_send_op(struct bt_att_chan *chan)
*/
if (!chan->pending_req) {
op = queue_peek_head(att->req_queue);
- if (op && op->len <= chan->mtu)
+ if (op && op->len <= chan->mtu) {
+ /* Don't send Exchange MTU over EATT */
+ if (op->opcode == BT_ATT_OP_MTU_REQ &&
+ chan->type == BT_ATT_EATT)
+ goto indicate;
+
return queue_pop_head(att->req_queue);
+ }
}
+indicate:
/* There is either a request pending or no requests queued. If there is
* no pending indication, pick an operation from the indication queue.
*/
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> EATT bearer shall use the L2CAP signalling for negotiating the MTU size. --- src/shared/att.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)