OSDN Git Service

Bluetooth: Add CONFIG_BT_LE_L2CAP_ECRED
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Thu, 27 Oct 2022 23:18:04 +0000 (16:18 -0700)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Mon, 12 Dec 2022 22:19:24 +0000 (14:19 -0800)
This adds CONFIG_BT_LE_L2CAP_ECRED which can be used to enable L2CAP
Enhanced Credit Flow Control Mode by default, previously it was only
possible to set it via module parameter (e.g. bluetooth.enable_ecred=1).

Since L2CAP ECRED mode is required by the likes of EATT which is
recommended for LE Audio this enables it by default.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Tested-By: Tedd Ho-Jeong An <tedd.an@intel.com>
net/bluetooth/Kconfig
net/bluetooth/l2cap_core.c

index ae3bdc6..da7cac0 100644 (file)
@@ -78,6 +78,17 @@ config BT_LE
          Bluetooth Low Energy includes support low-energy physical
          layer available with Bluetooth version 4.0 or later.
 
+config BT_LE_L2CAP_ECRED
+       bool "Bluetooth L2CAP Enhanced Credit Flow Control"
+       depends on BT_LE
+       default y
+       help
+         Bluetooth Low Energy L2CAP Enhanced Credit Flow Control available with
+         Bluetooth version 5.2 or later.
+
+         This can be overridden by passing bluetooth.enable_ecred=[1|0]
+         on the kernel commandline.
+
 config BT_6LOWPAN
        tristate "Bluetooth 6LoWPAN support"
        depends on BT_LE && 6LOWPAN
index 9fdede5..a3e0dc6 100644 (file)
@@ -45,7 +45,7 @@
 #define LE_FLOWCTL_MAX_CREDITS 65535
 
 bool disable_ertm;
-bool enable_ecred;
+bool enable_ecred = IS_ENABLED(CONFIG_BT_LE_L2CAP_ECRED);
 
 static u32 l2cap_feat_mask = L2CAP_FEAT_FIXED_CHAN | L2CAP_FEAT_UCD;