From patchwork Tue Apr 15 21:48:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luiz Augusto von Dentz X-Patchwork-Id: 881445 Received: from mail-vk1-f169.google.com (mail-vk1-f169.google.com [209.85.221.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 07A15256C7A for ; Tue, 15 Apr 2025 21:48:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744753714; cv=none; b=Ndm0CbDAYBss835H1XeVsEGXT7gZDIjsBqwex+4B/bBdcsIC9vTDKUs3xjA5CVRI+svSe3QL2vfHdkbYHDMlBSXeSaf5y1oF7utfAGnMw+HsSn1HDMNblA4DzqAtmsTWv+c8wpLNp5rEBD0XsXz9/UEK/+NXRIUHWGdybMoGmWM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744753714; c=relaxed/simple; bh=r32oAtmJV4GUBVTcyRweY8W3ZwcYF9lzM96+0PEcaBo=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OrmT3BZsq6GzdpxFEZX0z0fFou2owhwdYf2FEIMEffD69g4vtGYWcFck0bRxpVpmo5QlEmTJkR2aBa+cR19nbcxj1XD/iTJbKfmYQVXiEzSW4X3K8AW3tGr9tzbbmq2u3jQQ6a4bORyyisIkgxdZnkX3NMIbrZ+X50FUdGklAiM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Md8BjTxL; arc=none smtp.client-ip=209.85.221.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Md8BjTxL" Received: by mail-vk1-f169.google.com with SMTP id 71dfb90a1353d-523fa0df55dso101719e0c.1 for ; Tue, 15 Apr 2025 14:48:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744753710; x=1745358510; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=aO8ssM0dfDJUhN473dOwaJoGRWoeMmAGYDR1boXBPUI=; b=Md8BjTxL2k3LHRHAu/d4kjAffLesJnGYhq0eYfZ0hOVW37K6hXskCoS+ejDmaWpetY k/6/YuJXjJnlKYW1p8ufmLfvI6f4nKoMnVMKgFmlJhtaaiNseDvLo4g4deeNdJlyYPhK Za8y6LxHTkM7053b8eXAow2Lse3Zu+n0vSkWBCJd9d1GUiGCqi1S0zUl2fS2DPaL7Y6u gAQm5EmQFwyaPI55dmFR0+76dTb2iu7zkAiaLiJdExZfF8lZ7VcjwUs6wPqmrbPbe5zy SDT7cp4KOoKG0Db3FcdY9+AI9ZbDs+jbs878Bn5xObJUqgjEGdVwyFGR/KNjskeeuC8f rBWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744753710; x=1745358510; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aO8ssM0dfDJUhN473dOwaJoGRWoeMmAGYDR1boXBPUI=; b=c3iM1KluUjAdSeo7ag9BAjsLUu3VaDWRkEV4kn1NC/KCX8tWZJ0KiHg1+rtxb2uahw jQVPgzNpcCN7xoijJkOQLXW/AxqEMBjB7F7c6mjN231bZ3z+AfXdQg06/hLnenFA2nN4 ck1rA/AkL46Fq46wAsvQDq5T7FvMOJPGqPxHWeZFqX72tEWwumPBqx2Ik8tRQznfHedR dnwhM1OkSGdYLdi6sZWjbyDt1MeDSGCZk3hhT4GIMyP93bp0BLJl9U/el+fFMG0D8ubk jao7B0F5rMZrZTVJlGxK6tqSV9SuIOL3M5Z1bHWntNaS1RiEtSVjnSyEOZ2rjSTG1QwO Hhcw== X-Gm-Message-State: AOJu0Ywpc6mdO8fnr0KjXXo3QLGW2B2RtbxkXeRXcskRDO10XsPEof3s Pko2C9JyJ8MDp/+dJeUV+LykdnpIzVQ5bgIsteDSTK2Kso4atQV7gO+LDdQV+nk= X-Gm-Gg: ASbGncuRpBczPKEJiDhce/8J0Y/T+ZrH+tjtAHuWLpiHKKM+kxjypu3sWkONUlFRvVD 0K3Aik8c8uP/mFVLOYKUmqKSCS3v13/uk0YellYvPgt+f/91qEbN1MC7S5L1BqoPTGFxHrji1j1 S1xwLehS6E96S8aZr9LznoZb1AqcBXOxyqA7G4+pFNrcLjLfuV26909a1cXRJxYngHZeWrXqlja nuc7W1OxfaCEW3Jp7VRqjvq3GcIOeENkNjmHdO7HXi3VKIb81/b/uuF3441V2IGkKARCat/PW+m aZicgqjtqIxJRVN7uuj5jYOugpV5gv7uaNv96VR6PAEo+iz92A8Z4MhRFZDS4PMm2pAwE85apHp BdJzlYgJozA== X-Google-Smtp-Source: AGHT+IEh7Xb8lr7HRfTwH9FSWdEbx8QJBefd4E07jT3DpTzAFNS4r5XT49KvXEPkqmjG29BgR5sKUQ== X-Received: by 2002:a05:6122:547:b0:523:6eef:af62 with SMTP id 71dfb90a1353d-528f0c5b625mr4436688e0c.4.1744753710128; Tue, 15 Apr 2025 14:48:30 -0700 (PDT) Received: from lvondent-mobl5.. (syn-050-089-067-214.res.spectrum.com. [50.89.67.214]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-527abe8d740sm2844459e0c.33.2025.04.15.14.48.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Apr 2025 14:48:28 -0700 (PDT) From: Luiz Augusto von Dentz To: linux-bluetooth@vger.kernel.org Subject: [PATCH BlueZ v2] bap: Fix not setting SID for broadcast receiver Date: Tue, 15 Apr 2025 17:48:11 -0400 Message-ID: <20250415214811.1677842-8-luiz.dentz@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250415214811.1677842-1-luiz.dentz@gmail.com> References: <20250415214811.1677842-1-luiz.dentz@gmail.com> Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Luiz Augusto von Dentz SID most be set otherwise 0x00 is assume which may not be what the broadcast source is using over the air. but since we don't have access to the SID of the advertisement in userspace mark de SID as invalid (0xff) so the kernel fill it up while scanning when creating the PA sync. --- profiles/audio/bap.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/profiles/audio/bap.c b/profiles/audio/bap.c index fd9b751cc1bf..24763666ce96 100644 --- a/profiles/audio/bap.c +++ b/profiles/audio/bap.c @@ -2813,6 +2813,7 @@ static void bap_detached(struct bt_bap *bap, void *user_data) static int pa_sync(struct bap_data *data) { GError *err = NULL; + uint8_t sid = 0xff; if (data->listen_io) { DBG("Already probed"); @@ -2833,6 +2834,7 @@ static int pa_sync(struct bap_data *data) btd_device_get_bdaddr_type(data->device), BT_IO_OPT_MODE, BT_IO_MODE_ISO, BT_IO_OPT_QOS, &bap_sink_pa_qos, + BT_IO_OPT_ISO_BC_SID, sid, BT_IO_OPT_INVALID); if (!data->listen_io) { error("%s", err->message); From patchwork Tue Apr 15 21:48:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luiz Augusto von Dentz X-Patchwork-Id: 881448 Received: from mail-vk1-f179.google.com (mail-vk1-f179.google.com [209.85.221.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 630182DFA20 for ; Tue, 15 Apr 2025 21:48:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744753700; cv=none; b=Ivuka6KZ0ru+vuAJmyXaQMV+fiIiWpWoAFeeCmO2VyS20HApJr2lfim12FoEtUTdZ8t5BPePbXf/DjXLEJnroSF3aZnnH6CH5Uj3rTO92rPoCLzX58PDY7yLkHa0U4yOMa54o2cJGY18JAVnat5w99o4SfmkJzajM3+sN5YJkxY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744753700; c=relaxed/simple; bh=tn3LLMUkmIgzSHBzNCOPge8xddrWH9LcOTg27zwPgds=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=J42Q7AxOnIEW0EfZsaedCrOLDFhmCUcbbFGN+Ufu/y1xDTPSciMnqv48KcsWAmHUx1WoxbALFD0uDeLpOkNI/tEDl/+Mb1Y/HpsfUzLSFCKd971BuaTKob66PU8co8GqHB++4sg7nwx1FHOKIoMZvtbpcg9NKXrOj8vwLQ/UgeU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=fhQ/YNe+; arc=none smtp.client-ip=209.85.221.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fhQ/YNe+" Received: by mail-vk1-f179.google.com with SMTP id 71dfb90a1353d-527a2b89a11so2546222e0c.2 for ; Tue, 15 Apr 2025 14:48:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744753697; x=1745358497; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=0qAWmu4uWB6mmSNQRF8c6wKOSO8fTTfpFkXVXjHgTSk=; b=fhQ/YNe+CahBs+4eGa5NSpRHK4Dy3QMQLlbNnkZcEySHCNljsh2FZOXVq2rrrLXpEH GvtpfaojskWURBQ3765ZTuAiVSvIKgV5kWTkWad9aMdjwYVrbQcxwObzxREvKFq4Ak+y DiwvayYthTeTm6BxIf+EVIncJqohuIyvTO4VINvsgk9znvqCM3I5HR23iQ6vxb5oRc+6 V1JfhWbv+rW0glQjIri8oJvX4JBzvXBXymNgC+JTYfDs8WAz7RTy8nInNREO6u42k7CA f25Ze9RQVERFUYj/PXJolHSd6mXFU4o/sZom3H+uCFOlE3I13FhXLLLJEoz+n/7wBiTr qWhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744753697; x=1745358497; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0qAWmu4uWB6mmSNQRF8c6wKOSO8fTTfpFkXVXjHgTSk=; b=DS4vafKlTYyYbN4Xk0pAAYvyjqDwxddOqrX13UWTCbW97lkWFz6V4rrQk1H5NIjKjv LGFO7ibPvh9fAcRfeNWOROKHRAW4kxGQe4COlONgP7alRfoInHV5qQrqVI/RYLgqWrje 86EeVEPX/Jp7yqGZRLTB6oudsUD8UjZUsX2h39eIjN3PSRTT/stupsrXdYHBC1sRZi5l riX4cdoKHydHhbk/LaGSi+sjzZijXLMmAPtCOIEi1Go4IMw3p2mwrQGtYvEl//k/Ekua XzgKPbMsMEI4JJagpGWi9iwTA2mLt9mFbAZrEkimJ3Kxs2mTTH3aKfopTBV8EiRAchRk hqhA== X-Gm-Message-State: AOJu0YyZcUib5dsTrVGfZg0G0Gj2YbGtUtIQqg4lNlh2hW0NHJhHxBDp YQpvKo8a7rgHqljYFmwsV0jSzlxWHN44MsZGLDm40CbcghB6jYRfS0cVlGtfVBY= X-Gm-Gg: ASbGnctT83nkEOOBij0KhZnMXy7UnLDM1puQFHrRty1/4xxiwI+qVInGsbSI+92d/PB PhxDsb8VQAPyn5g7s0Unl1S6LebtkFnZZAwVQCt9BqNDEfnIOCrw0+CXIpLXWR01FIG9uFTKa5o k0Ol7Ohp/M/kxKA1cjhO5I/fhGZzQrsqqeZ6DY+ATdSIVKfv+XN8mcQ+cGyn+M7z5CPYh9WZtoS HDwVstXrbgb7zTPNqSKCAXyF+eLBA9CwbS9/kcOhy2HzJo6H25t2NDcbdczN+NFFXne7oClyohi 1UvH9ZtCgPagMyaUa7rA3MDei7yVCMm+XlgBvTnWFEbtcP9ITFbsFhCIbP7npmCXFrySAWK7Ica 6Frq/mbs9IA== X-Google-Smtp-Source: AGHT+IHcwLMPmq7vYPoLYRHzX7sN1yNxg1hBAHQzBWwlefGiqGdZQpkd1oFLzrK1bQC42rb231vX0Q== X-Received: by 2002:a05:6122:903:b0:528:f417:6f95 with SMTP id 71dfb90a1353d-52908f9c012mr959811e0c.0.1744753697394; Tue, 15 Apr 2025 14:48:17 -0700 (PDT) Received: from lvondent-mobl5.. (syn-050-089-067-214.res.spectrum.com. [50.89.67.214]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-527abe8d740sm2844459e0c.33.2025.04.15.14.48.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Apr 2025 14:48:16 -0700 (PDT) From: Luiz Augusto von Dentz To: linux-bluetooth@vger.kernel.org Subject: [PATCH BlueZ v1 2/7] btdev: Check for valid SID on BT_HCI_CMD_LE_PA_CREATE_SYNC Date: Tue, 15 Apr 2025 17:48:05 -0400 Message-ID: <20250415214811.1677842-2-luiz.dentz@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250415214811.1677842-1-luiz.dentz@gmail.com> References: <20250415214811.1677842-1-luiz.dentz@gmail.com> Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Luiz Augusto von Dentz --- emulator/btdev.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/emulator/btdev.c b/emulator/btdev.c index 7e4cb9393593..a1c82ae306d7 100644 --- a/emulator/btdev.c +++ b/emulator/btdev.c @@ -5728,6 +5728,12 @@ static int cmd_pa_create_sync(struct btdev *dev, const void *data, uint8_t len) uint8_t status = BT_HCI_ERR_SUCCESS; struct le_per_adv *per_adv; + if (cmd->sid > 0x0f) { + cmd_status(dev, BT_HCI_ERR_INVALID_PARAMETERS, + BT_HCI_CMD_LE_PA_CREATE_SYNC); + return 0; + } + /* Create new train */ per_adv = le_per_adv_new(dev, cmd->addr_type, cmd->addr); if (!per_adv) From patchwork Tue Apr 15 21:48:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luiz Augusto von Dentz X-Patchwork-Id: 881447 Received: from mail-vk1-f174.google.com (mail-vk1-f174.google.com [209.85.221.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7E31A21D5B2 for ; Tue, 15 Apr 2025 21:48:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744753705; cv=none; b=fzpf8rqrVu4+T6ok+zy9wUWqusa+3ZIBZ3NVkTOZuTsXpZ5fDb2sgD4QE7VlkePnEDNy0ZHQRR99uaWn22YzIfrWZnJJrp2j9PxmUaiyGHFIz3sCD1sMd7+2t4fkKYmdvVtq4pUtY2f8PyuX1NO8f0eCbgRtCJTvMG3Pvjm3bnI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744753705; c=relaxed/simple; bh=DPZ4Fy8hFB79kXhQkjjsaUMg1+lmOHgCZ9nLOHWNdV4=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=stT3UJypUoIWqx7yaL9tdgdkalhEcbM76j2RBXwGTrJpjhB+QeL2vd2VoLO1a0CCrJRSWo4p4EQuZenkdhKhndLhImuCdtPn1Ar6tGmVgo0+4nka4nUBw8yDZaYc7yvm88FNo1GDnyHpuhbWzHkyi0ah6YO4gJIDx8ZQ1xM/oDE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=fawZUGjX; arc=none smtp.client-ip=209.85.221.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fawZUGjX" Received: by mail-vk1-f174.google.com with SMTP id 71dfb90a1353d-525da75d902so2289378e0c.3 for ; Tue, 15 Apr 2025 14:48:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744753701; x=1745358501; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=wEjjwG5jx2aPU05qIE/xX2hSXaML6GcxiCjF2JKd8Z0=; b=fawZUGjXQeqy07DWH5x/ZDk1at1S1j5YLNk71oSaDE+9jJzvFwl4BH35Sh6fJYypCD YptJvwBY25JoKvApl/mGZxFGaMj4jzVwMzAyAXpA869zv9RkuqmH0PN1IPedlpb/hm7R h6vsBIKkM0N/2CzRH7d8we1DuXGrL7T2XaMlQye3k4JufMoRzon9w6UmEn5jHAR5HF7W M+c6uxtflFq0tAnbdXEzqdz5rd16w30cII16m5pym/oaMHNQmmN1u9EPAcnRywoXcmZl rFuGm5dkerZZqlSsR1J9uLp0bc306l9EutwReYdOmzDW0hZu0jrfY7d+AXdIqV02ffsh m/Pg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744753701; x=1745358501; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wEjjwG5jx2aPU05qIE/xX2hSXaML6GcxiCjF2JKd8Z0=; b=UtTvYEdRrkztEouP9VtNg5jJJl/5oBSBg7Lj5G84/5em0iF5c1XPgN/x8qPjQFXWj/ b+6U47rq86cd5TInQxXS7Yljjgc6dJUWcVHOqtWv+PRKmMVTglsYiRq1cFQrqt0YQn1y DtdzFyijxVsIjdeT2+OqsEOISsPD22wQczb+RLdJ52yyXDrpZ9LQqEsUASeL87slr0ye +9FcAIJaTrpSrgTMKHw+JpoouR/U1rPtMv6XcI2jKnndb2N3BLzvr9G/9jBW0BLNs+Lu 62kc6cwNn8vLmA4xJchSJDBmZrmbSYVkEuJr5KEctSO7Wbd6AYEsFlno/bJX8kM5qwJF cfXw== X-Gm-Message-State: AOJu0Yypmgmc8uR0xn3PwOWqvRy9TjDA5nsiRW5cHAav/Plh2gsih5GU sB0RDyYUne1Y/MVftoXL6RCX2V922IiuoSUha8jro0K8LlfM48jV9wWwsy6Bmdc= X-Gm-Gg: ASbGncss27kTgq5JTaUbNgIfnrte0xIp+Ub3sCuJOm1EiBx7P4WU1N+8c74KRSE34QQ KsgUm1gqMjCrvDn/lRo8jQFlCe3mk6rJlUh80BawWb79EaHt/BR7gEIvEGsSXrq8WO82R2yIGCx Q3SOhEN2rnziojcVfYcYDs4jeqrI1VACvoSqCXMXkqDaF3YKZf3yQNJeW53qqAyW7J1LAQsVdUp seR1wsWJGtKph/vjut5K8zuwPS3R7jY37dDknDG7AWlf2zoLli+iFYydgYtDQpiYrd87NEkxKny /YGx/7oDww9MbNFxV+Znrrj8oNj6oB3A18ZRdlLsdKPc1hYWax2iIJKtfwpm26hHOIxbhdUI7iS XVRrVx/a98A== X-Google-Smtp-Source: AGHT+IE1tcDTiGW0zUOxjrX/T5lBBXgtp041aV4ZWAR253BUc/XTmVmPwbhxK0t88p2eIrSU3IoNzg== X-Received: by 2002:a05:6122:8d6:b0:523:6c0c:e991 with SMTP id 71dfb90a1353d-5290915d761mr915854e0c.3.1744753701124; Tue, 15 Apr 2025 14:48:21 -0700 (PDT) Received: from lvondent-mobl5.. (syn-050-089-067-214.res.spectrum.com. [50.89.67.214]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-527abe8d740sm2844459e0c.33.2025.04.15.14.48.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Apr 2025 14:48:19 -0700 (PDT) From: Luiz Augusto von Dentz To: linux-bluetooth@vger.kernel.org Subject: [PATCH BlueZ v1 4/7] iso-tester: Add test for SID=0xff Date: Tue, 15 Apr 2025 17:48:07 -0400 Message-ID: <20250415214811.1677842-4-luiz.dentz@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250415214811.1677842-1-luiz.dentz@gmail.com> References: <20250415214811.1677842-1-luiz.dentz@gmail.com> Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Luiz Augusto von Dentz This adds the following test which is used to verify that when application sets bc_sid to 0xff the kernel will attempt to scan for a valid SID before attempting to create the PA sync: ISO Broadcaster Receiver SID 0xff --- tools/iso-tester.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tools/iso-tester.c b/tools/iso-tester.c index 350775fddc96..b362647461c3 100644 --- a/tools/iso-tester.c +++ b/tools/iso-tester.c @@ -495,6 +495,7 @@ struct iso_client_data { uint8_t pkt_status; const uint8_t *base; size_t base_len; + uint8_t sid; bool listen_bind; bool pa_bind; bool big; @@ -1419,6 +1420,16 @@ static const struct iso_client_data bcast_16_2_1_recv2 = { .big = true, }; +static const struct iso_client_data bcast_16_2_1_recv_sid = { + .qos = QOS_IN_16_2_1, + .expect_err = 0, + .recv = &send_16_2_1, + .bcast = true, + .server = true, + .big = true, + .sid = 0xff, +}; + static const struct iso_client_data bcast_enc_16_2_1_recv = { .qos = QOS_IN_ENC_16_2_1, .expect_err = 0, @@ -2843,6 +2854,7 @@ static int listen_iso_sock(struct test_data *data, uint8_t num) bacpy(&addr->iso_bc->bc_bdaddr, (void *) dst); addr->iso_bc->bc_bdaddr_type = BDADDR_LE_PUBLIC; + addr->iso_bc->bc_sid = isodata->sid; if (!isodata->defer || isodata->listen_bind) { addr->iso_bc->bc_num_bis = 1; @@ -3817,6 +3829,10 @@ int main(int argc, char *argv[]) test_iso("ISO Broadcaster Receiver - Success", &bcast_16_2_1_recv, setup_powered, test_bcast_recv); + test_iso("ISO Broadcaster Receiver SID 0xff - Success", + &bcast_16_2_1_recv_sid, + setup_powered, + test_bcast_recv); test_iso2("ISO Broadcaster Receiver2 - Success", &bcast_16_2_1_recv2, setup_powered, test_bcast_recv2); From patchwork Tue Apr 15 21:48:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luiz Augusto von Dentz X-Patchwork-Id: 881446 Received: from mail-vk1-f175.google.com (mail-vk1-f175.google.com [209.85.221.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1FC482DFA20 for ; Tue, 15 Apr 2025 21:48:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744753709; cv=none; b=CNSq1hcxNO9hLnQHfib9dAq9XYJlhBD0xHLz4v9p+5qur3h/VIZbu+DfCbN7iqMB7c2YNQaL7TmGrov6yv0nBnutBfcri7FN18PLvuRBbzZDNLcsUD7st8G4fK/a4+OXboA8uEViAJ6t2KIFa5l/KJvahhXscbDLwlC0RkX8SKg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744753709; c=relaxed/simple; bh=Ep/VGdXyZEkyBZ8e1w235imF8eJuSSGF/xTIn+0YI+4=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mZxME6xyHBuoJz8JuttEEMrCiP90OMgU7MNCgUhjltZeUorNcr1vAVEW/4l06IKLVXOXvR4K3z3yiz0WBYihId2hQOyMxpxvlcnmt+eQwbGF1IzVu80DHiKT+jMfbBfQq5feH1Y3D2sVi3QCk46IDwwpJPcPZ2Vx5c1DA3q1MC8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Cfv3mtAW; arc=none smtp.client-ip=209.85.221.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Cfv3mtAW" Received: by mail-vk1-f175.google.com with SMTP id 71dfb90a1353d-525b44b7720so2409806e0c.0 for ; Tue, 15 Apr 2025 14:48:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744753706; x=1745358506; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=9HHkuNI7c4qBw/LbC/Lfy2J5sSnqFM4eZks/GYTvigw=; b=Cfv3mtAWHPWrDtGbQvPqQGIjQxfzM7iE+wmy7oS63CnCzqvI6bFkMcHpXO0U4HHaRm hK4L0ZIBm96LKyybP3SbOy+0ArTOUKT/hxulVzJOryCwGQk8AmckywBexF0kEgqtezFX 7mJk7+58/DFcA/dyGQW9d/HpUtJ+f/BHR/lqcAM0lHQV+Ob8R0gxoxE31slZx9NqYYqm EeYxy+/AacEaUc3t/Gv3TZ56bjJCoIXoM2kcH8ZnXxkRDwiJWVImiq42spETFrQzJmaA uiczCXJo4Jgzrn+mACV96+1BVpN2aNH1zRNgQXePWPHHKC1qRQ3nkd+lt83K8UnAr6kY 16Eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744753706; x=1745358506; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9HHkuNI7c4qBw/LbC/Lfy2J5sSnqFM4eZks/GYTvigw=; b=DyafCnUUmdCCuUPfebfAPF/zvnOGozYs2wwYRRO3aaALKFvMND90SLnaxpdtiuCQOU Z9cqBQ/3RMh+/VK4j3oxzTlOYkVs1ByHr815Xkesw4stjfF/KDhK6zRRztIFfRmA9qsH rPuF/kxKH+5tETnAb8TKq0eFyzo82sj5S8gI1nU1Hiy+o9EykEExHVnsDtHVI2K9pIm5 uiNB6C1AXyLBUzzQLeP957ZZf0s6oIl9Yy5n+EHv/64Qpb50M1m9cByEOzHhEKW9cV6e dEigtsHu6jvop+3019yztZo4C0yVjmqTHms/e/PFoo0a17Pk54ya/u++BcOt2brnYj0P ff4w== X-Gm-Message-State: AOJu0YwKdswqWiaTwvAbR0MhnCVYQzlbeByqAH+8uONrp7apavxoYAuu CSfDz6ImbGCKhX/PDXgQ6FyGdDUFo1zsQEokiAlSy2u/msx/cdCHrjJ+h3FWECQ= X-Gm-Gg: ASbGnctO+hRLeOwrW7zHBUQCCaEfkEEVESOhN5oIRep2IK7eVsVuV63FsZ3UCIDsk/Z HGzTz6fw0a6HX1SAB/udypMf6UEnZz+9w0KRVLd3nf98XaIHDMAJhskiekag1rm9s1IiJuU7Dac PNCjeBC1KDc2JM4Cw6alN0IGt3lYqERMt9FR32+pw89UyAf/jx/uQrV/M2wOp8+xFrbR5aIu0Xq cn5PvaAd7anTwUn9mFC9JmzJf+szGwKCOkgHhcvxF0Vrc6VY4DqUWVUXl9bAWL0a+VcgINlIySM U2zePPcxR/k8g08X4lU3T5bQauNTgxxpx3wc37sQqsVhS0c8yyR5mYzFBR2OeV7Wg0EGsmFpup5 rDaT91klZ0g== X-Google-Smtp-Source: AGHT+IHAk2n9miHmNfqgO3/Sx7BjAm8aaGfcUssYFTmuhAsNMKk3DC0zER96xSHf2W3AeN6wp1cRzg== X-Received: by 2002:a05:6122:1818:b0:526:1ddd:7603 with SMTP id 71dfb90a1353d-52908f8a491mr698042e0c.0.1744753706241; Tue, 15 Apr 2025 14:48:26 -0700 (PDT) Received: from lvondent-mobl5.. (syn-050-089-067-214.res.spectrum.com. [50.89.67.214]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-527abe8d740sm2844459e0c.33.2025.04.15.14.48.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Apr 2025 14:48:24 -0700 (PDT) From: Luiz Augusto von Dentz To: linux-bluetooth@vger.kernel.org Subject: [PATCH BlueZ v1 6/7] btio: Add support to BT_IO_OPT_ISO_BC_SID to bt_io_get Date: Tue, 15 Apr 2025 17:48:09 -0400 Message-ID: <20250415214811.1677842-6-luiz.dentz@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250415214811.1677842-1-luiz.dentz@gmail.com> References: <20250415214811.1677842-1-luiz.dentz@gmail.com> Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Luiz Augusto von Dentz This adds support for reading BT_IO_OPT_ISO_BC_SID using bt_io_get --- btio/btio.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/btio/btio.c b/btio/btio.c index 7ea17c7754e4..14f2b700e383 100644 --- a/btio/btio.c +++ b/btio/btio.c @@ -1649,6 +1649,27 @@ static gboolean sco_get(int sock, GError **err, BtIOOption opt1, va_list args) return TRUE; } +static bool get_bc_sid(int sock, uint8_t *sid, GError **err) +{ + struct { + struct sockaddr_iso iso; + struct sockaddr_iso_bc bc; + } addr; + socklen_t olen; + + olen = sizeof(addr); + memset(&addr, 0, olen); + if (getpeername(sock, (void *)&addr, &olen) < 0 || + olen != sizeof(addr)) { + ERROR_FAILED(err, "getpeername", errno); + return false; + } + + *sid = addr.iso.iso_bc->bc_sid; + + return true; +} + static gboolean iso_get(int sock, GError **err, BtIOOption opt1, va_list args) { BtIOOption opt = opt1; @@ -1657,6 +1678,7 @@ static gboolean iso_get(int sock, GError **err, BtIOOption opt1, va_list args) struct bt_iso_base base; socklen_t len; uint32_t phy; + uint8_t bc_sid; len = sizeof(qos); memset(&qos, 0, len); @@ -1721,6 +1743,12 @@ static gboolean iso_get(int sock, GError **err, BtIOOption opt1, va_list args) case BT_IO_OPT_BASE: *(va_arg(args, struct bt_iso_base *)) = base; break; + case BT_IO_OPT_ISO_BC_SID: + if (!get_bc_sid(sock, &bc_sid, err)) + return FALSE; + + *(va_arg(args, uint8_t *)) = bc_sid; + break; case BT_IO_OPT_HANDLE: case BT_IO_OPT_CLASS: case BT_IO_OPT_DEFER_TIMEOUT: @@ -1736,7 +1764,6 @@ static gboolean iso_get(int sock, GError **err, BtIOOption opt1, va_list args) case BT_IO_OPT_FLUSHABLE: case BT_IO_OPT_PRIORITY: case BT_IO_OPT_VOICE: - case BT_IO_OPT_ISO_BC_SID: case BT_IO_OPT_ISO_BC_NUM_BIS: case BT_IO_OPT_ISO_BC_BIS: case BT_IO_OPT_INVALID: