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

BT_CONN && BT_HCI_HOST && BT_HCI && BT

(Includes any dependencies from ifs and menus.)

Kconfig definition

At <Zephyr>/subsys/bluetooth/host/Kconfig.gatt:8

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:34<Zephyr>/subsys/Kconfig:8<Zephyr>/subsys/bluetooth/Kconfig:239<Zephyr>/subsys/bluetooth/host/Kconfig:506

Menu path: (Top) → Sub Systems and OS Services → Bluetooth → ATT and GATT Options

config BT_ATT_ENFORCE_FLOW
    bool "Enforce strict flow control semantics for incoming PDUs"
    default y if !(BOARD_QEMU_CORTEX_M3 || BOARD_QEMU_X86 || ARCH_POSIX)
    depends on BT_CONN && BT_HCI_HOST && BT_HCI && 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.)