From: Luiz Augusto von Dentz <redacted>
EATT bearer shall use the L2CAP signalling for negotiating the MTU
size.
---
src/shared/att.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/shared/att.c b/src/shared/att.c
index 665d7f4b8..329497728 100644
--- a/src/shared/att.c
+++ b/src/shared/att.c
@@ -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.
*/--
2.31.1