:orphan: .. title:: BT_ATT_ENFORCE_FLOW .. option:: CONFIG_BT_ATT_ENFORCE_FLOW *Enforce strict flow control semantics for incoming PDUs* Type: ``bool`` Help ==== Enforce flow control rules on incoming PDUs, preventing a peer from sending new requests until a previous one has been responded or sending a new indication until a previous one has been confirmed. This may need to be disabled to avoid potential race conditions arising from a USB based HCI transport that splits HCI events and ACL data to separate endpoints. Direct dependencies =================== \ :option:`BT_CONN ` && \ :option:`BT_HCI_HOST ` && \ :option:`BT_HCI ` && \ :option:`BT ` *(Includes any dependencies from ifs and menus.)* Default ======= - y if !(\ :option:`BOARD_QEMU_CORTEX_M3 ` || \ :option:`BOARD_QEMU_X86 ` || \ :option:`ARCH_POSIX `) Kconfig definition ================== .. highlight:: kconfig At ``subsys/bluetooth/host/Kconfig.gatt:8`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:34`` → ``subsys/Kconfig:9`` → ``subsys/bluetooth/Kconfig:239`` → ``subsys/bluetooth/host/Kconfig:507`` Menu path: (Top) → Sub Systems and OS Services → Bluetooth → ATT and GATT Options .. parsed-literal:: config BT_ATT_ENFORCE_FLOW bool "Enforce strict flow control semantics for incoming PDUs" default y if !(\ :option:`BOARD_QEMU_CORTEX_M3 ` || \ :option:`BOARD_QEMU_X86 ` || \ :option:`ARCH_POSIX `) depends on \ :option:`BT_CONN ` && \ :option:`BT_HCI_HOST ` && \ :option:`BT_HCI ` && \ :option:`BT ` help Enforce flow control rules on incoming PDUs, preventing a peer from sending new requests until a previous one has been responded or sending a new indication until a previous one has been confirmed. This may need to be disabled to avoid potential race conditions arising from a USB based HCI transport that splits HCI events and ACL data to separate endpoints. *(The 'depends on' condition includes propagated dependencies from ifs and menus.)*