]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Bluetooth: MGMT: Fix not exposing debug UUID on MGMT_OP_READ_EXP_FEATURES_INFO
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Wed, 20 Aug 2025 12:50:12 +0000 (08:50 -0400)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Sat, 27 Sep 2025 15:37:01 +0000 (11:37 -0400)
The debug UUID was only getting set if MGMT_OP_READ_EXP_FEATURES_INFO
was not called with a specific index which breaks the likes of
bluetoothd since it only invokes MGMT_OP_READ_EXP_FEATURES_INFO when an
adapter is plugged, so instead of depending hdev not to be set just
enable the UUID on any index like it was done with iso_sock_uuid.

Fixes: e625e50ceee1 ("Bluetooth: Introduce debug feature when dynamic debug is disabled")
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
net/bluetooth/mgmt.c

index 225140fcb3d6c83357c57fd8ea7001a6ce14d697..a3d16eece0d236e6c2c9882a6f63769476e1c3c5 100644 (file)
@@ -4542,13 +4542,11 @@ static int read_exp_features_info(struct sock *sk, struct hci_dev *hdev,
                return -ENOMEM;
 
 #ifdef CONFIG_BT_FEATURE_DEBUG
-       if (!hdev) {
-               flags = bt_dbg_get() ? BIT(0) : 0;
+       flags = bt_dbg_get() ? BIT(0) : 0;
 
-               memcpy(rp->features[idx].uuid, debug_uuid, 16);
-               rp->features[idx].flags = cpu_to_le32(flags);
-               idx++;
-       }
+       memcpy(rp->features[idx].uuid, debug_uuid, 16);
+       rp->features[idx].flags = cpu_to_le32(flags);
+       idx++;
 #endif
 
        if (hdev && hci_dev_le_state_simultaneous(hdev)) {