Commit 80852774 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files
Luiz Augusto von Dentz says:

====================
bluetooth pull request for net:

 - hci_sync: Fix not disabling advertising instance
 - hci_core: Remove check of BDADDR_ANY in hci_conn_hash_lookup_big_state
 - hci_sync: Fix attempting to send HCI_Disconnect to BIS handle
 - hci_event: Fix not marking Broadcast Sink BIS as connected

* tag 'for-net-2025-07-03' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth:
  Bluetooth: hci_event: Fix not marking Broadcast Sink BIS as connected
  Bluetooth: hci_sync: Fix attempting to send HCI_Disconnect to BIS handle
  Bluetooth: hci_core: Remove check of BDADDR_ANY in hci_conn_hash_lookup_big_state
  Bluetooth: hci_sync: Fix not disabling advertising instance
====================

Link: https://patch.msgid.link/20250703160409.1791514-1-luiz.dentz@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents ffc2c8c4 c7349772
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -1350,8 +1350,7 @@ hci_conn_hash_lookup_big_state(struct hci_dev *hdev, __u8 handle, __u16 state)
	rcu_read_lock();

	list_for_each_entry_rcu(c, &h->list, list) {
		if (c->type != BIS_LINK || bacmp(&c->dst, BDADDR_ANY) ||
		    c->state != state)
		if (c->type != BIS_LINK || c->state != state)
			continue;

		if (handle == c->iso_qos.bcast.big) {
+3 −0
Original line number Diff line number Diff line
@@ -6966,7 +6966,10 @@ static void hci_le_big_sync_established_evt(struct hci_dev *hdev, void *data,
		bis->iso_qos.bcast.in.sdu = le16_to_cpu(ev->max_pdu);

		if (!ev->status) {
			bis->state = BT_CONNECTED;
			set_bit(HCI_CONN_BIG_SYNC, &bis->flags);
			hci_debugfs_create_conn(bis);
			hci_conn_add_sysfs(bis);
			hci_iso_setup_path(bis);
		}
	}
+2 −2
Original line number Diff line number Diff line
@@ -1345,7 +1345,7 @@ int hci_setup_ext_adv_instance_sync(struct hci_dev *hdev, u8 instance)
	 * Command Disallowed error, so we must first disable the
	 * instance if it is active.
	 */
	if (adv && !adv->pending) {
	if (adv) {
		err = hci_disable_ext_adv_instance_sync(hdev, instance);
		if (err)
			return err;
@@ -5493,7 +5493,7 @@ static int hci_disconnect_sync(struct hci_dev *hdev, struct hci_conn *conn,
{
	struct hci_cp_disconnect cp;

	if (test_bit(HCI_CONN_BIG_CREATED, &conn->flags)) {
	if (conn->type == BIS_LINK) {
		/* This is a BIS connection, hci_conn_del will
		 * do the necessary cleanup.
		 */