diff --git a/nimble/host/src/ble_l2cap_coc.c b/nimble/host/src/ble_l2cap_coc.c index f8561e1a9..329c87c77 100644 --- a/nimble/host/src/ble_l2cap_coc.c +++ b/nimble/host/src/ble_l2cap_coc.c @@ -199,9 +199,11 @@ ble_l2cap_coc_rx_fn(struct ble_l2cap_chan *chan) sdu_len = get_le16((*om)->om_data); if (sdu_len > rx->mtu) { - /* TODO Disconnect?*/ BLE_HS_LOG(INFO, "error: sdu_len > rx->mtu (%d>%d)\n", sdu_len, rx->mtu); + + /* Disconnect peer with invalid behaviour */ + ble_l2cap_disconnect(chan); return BLE_HS_EBADDATA; }