diff --git a/src/shared/att.c b/src/shared/att.c
index 665d7f4..3294977 100644
--- a/src/shared/att.c
+++ b/src/shared/att.c
*/
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.
*/