From: Hitalo Souza <enghitalo@gmail.com>
To: linux-bluetooth@vger.kernel.org
Cc: marcel@holtmann.org, luiz.dentz@gmail.com,
linux-kernel@vger.kernel.org, Hitalo Souza <enghitalo@gmail.com>
Subject: [PATCH v2 6/6] Bluetooth: hci_event: Notify the driver only of SCO links that came up
Date: Thu, 8 Oct 2026 11:12:38 -0400 [thread overview]
Message-ID: <20261008151238.2138665-7-enghitalo@gmail.com> (raw)
In-Reply-To: <20261008151238.2138665-1-enghitalo@gmail.com>
hci_sync_conn_complete_evt() notifies the driver of the air mode of a
synchronous connection whether or not its link came up, while
hci_conn_complete_evt() only does it for a link that did. A connection
whose link failed, or that refused the handle as it is being aborted,
is deleted right after, which notifies HCI_NOTIFY_DISABLE_SCO. btusb
picks the alternate setting of its isochronous interface from the latest
of these notifications whenever the number of SCO connections changes,
and HCI_NOTIFY_DISABLE_SCO selects no air mode: with another SCO
connection still up, the interface ends up at alternate setting 0, which
stops the audio of the connection that is up.
Only notify the driver when the link came up.
Fixes: 1f8330ea1692 ("Bluetooth: add support to notify using SCO air mode")
Assisted-by: LLM
Signed-off-by: Hitalo Souza <enghitalo@gmail.com>
---
net/bluetooth/hci_event.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index b1c107457..781d7124c 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -5317,10 +5317,11 @@ static void hci_sync_conn_complete_evt(struct hci_dev *hdev, void *data,
}
bt_dev_dbg(hdev, "SCO connected with air mode: %02x", ev->air_mode);
- /* Notify only in case of SCO over HCI transport data path which
- * is zero and non-zero value shall be non-HCI transport data path
+ /* Notify only of a link that came up, and only in case of SCO over
+ * HCI transport data path which is zero and non-zero value shall be
+ * non-HCI transport data path
*/
- if (conn->codec.data_path == 0 && hdev->notify) {
+ if (!status && conn->codec.data_path == 0 && hdev->notify) {
switch (ev->air_mode) {
case 0x02:
hdev->notify(hdev, HCI_NOTIFY_ENABLE_SCO_CVSD);
--
2.55.0
prev parent reply other threads:[~2026-10-08 15:13 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-08 15:12 [PATCH v2 0/6] Bluetooth: Fix SCO setup failures after an abandoned setup Hitalo Souza
2026-10-08 15:12 ` [PATCH v2 1/6] Bluetooth: hci_event: Don't fail a connected SCO link on setup errors Hitalo Souza
2026-10-08 15:12 ` [PATCH v2 2/6] Bluetooth: hci_conn: Don't set up a SCO link that is already up Hitalo Souza
2026-10-08 15:12 ` [PATCH v2 3/6] Bluetooth: hci_event: Disconnect links that complete while being aborted Hitalo Souza
2026-10-08 15:12 ` [PATCH v2 4/6] Bluetooth: Don't leave abandoned SCO links up in the controller Hitalo Souza
2026-10-08 15:12 ` [PATCH v2 5/6] Bluetooth: hci_event: Disconnect an ACL link that completes after its abort Hitalo Souza
2026-10-08 15:12 ` Hitalo Souza [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261008151238.2138665-7-enghitalo@gmail.com \
--to=enghitalo@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luiz.dentz@gmail.com \
--cc=marcel@holtmann.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®