Bluetooth: hci_conn: do return error from hci_enhanced_setup_sync()
authorSergey Shtylyov <s.shtylyov@omp.ru>
Tue, 5 Aug 2025 19:14:51 +0000 (22:14 +0300)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Fri, 15 Aug 2025 14:13:09 +0000 (10:13 -0400)
The commit e07a06b4eb41 ("Bluetooth: Convert SCO configure_datapath to
hci_sync") missed to update the *return* statement under the *case* of
BT_CODEC_TRANSPARENT in hci_enhanced_setup_sync(), which led to returning
success (0) instead of the negative error code (-EINVAL).  However, the
result of hci_enhanced_setup_sync() seems to be ignored anyway, since NULL
gets passed to hci_cmd_sync_queue() as the last argument in that case and
the only function interested in that result is specified by that argument.

Fixes: e07a06b4eb41 ("Bluetooth: Convert SCO configure_datapath to hci_sync")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
net/bluetooth/hci_conn.c

index ab6fe5b0cc0fe1a7f8d29afb3ebbff927c758861..7a879290dd28d5b9f37843acfb0e4a17e7c25184 100644 (file)
@@ -339,7 +339,8 @@ static int hci_enhanced_setup_sync(struct hci_dev *hdev, void *data)
        case BT_CODEC_TRANSPARENT:
                if (!find_next_esco_param(conn, esco_param_msbc,
                                          ARRAY_SIZE(esco_param_msbc)))
-                       return false;
+                       return -EINVAL;
+
                param = &esco_param_msbc[conn->attempt - 1];
                cp.tx_coding_format.id = 0x03;
                cp.rx_coding_format.id = 0x03;