]> 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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Oct 2025 10:00:17 +0000 (12:00 +0200)
[ Upstream commit 79e562a52adea4afa0601a15964498fae66c823c ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/bluetooth/mgmt.c

index 8b75647076baec9f9334dcc7c2d36a690708a511..563cae4f76b0d15883b283bc9ff50a7534a5b896 100644 (file)
@@ -4412,13 +4412,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)) {