From patchwork Sun Apr 7 15:18:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pauli Virtanen X-Patchwork-Id: 787680 Received: from lahtoruutu.iki.fi (lahtoruutu.iki.fi [185.185.170.37]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CA1F612E48 for ; Sun, 7 Apr 2024 15:18:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=185.185.170.37 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712503128; cv=pass; b=iCeG6syq9x/d+ZylbyU3hxb84KR7TPByah4tu1WtjMFL67+UIdLTQ9jau+HNaITCMdL09pBb5giUwvSzN/t2QbQSGH4V2J1VTjxJhgJsRN9qKGusMvCfPc+1Rvk0x/oRqZkiedK9y59kTnODJ6TJKZDpgUyygAvSHZ02RPYSbs0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712503128; c=relaxed/simple; bh=AnDkPOtpfsLUqO5g6XJ74kh282XH6RDvhB0iIpcXSeo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MO4gp1WjEISf7U1aYVOHpcAU1V/KfaUYEYmoVsLL0vYXOwuFQjCpF8WJpDEfte+sWP26CnLmkVC6RAWgBps3/crOr0H69mY17FSNCs2PbF6DW6mB9rD5zLTTDuQnxmYu+xiSif+5m2GsiTnKsI2M96UcTAkJLuXC8CA+iYVllWA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iki.fi; spf=pass smtp.mailfrom=iki.fi; dkim=pass (2048-bit key) header.d=iki.fi header.i=@iki.fi header.b=HTqpNrlH; arc=pass smtp.client-ip=185.185.170.37 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iki.fi Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=iki.fi Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=iki.fi header.i=@iki.fi header.b="HTqpNrlH" Received: from monolith.lan (unknown [193.138.7.158]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: pav) by lahtoruutu.iki.fi (Postfix) with ESMTPSA id 4VCG8N0NSSz49Q12; Sun, 7 Apr 2024 18:18:43 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1712503124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VNLLr0NQi2kr/SMLWRwgdU/Jenen+0NCeqNkRe2weCA=; b=HTqpNrlHyIn2QKIabHcfZvi7FpXiryPKjQkin2QZ3HNEVJ+1hs8LPbMpZoZ0do4clwrD5K MJBYZ6PWA2YVq/68hP4yEx3HS0azShNt7dzvmg7daOmISz21nyLMjhS4ZHzfIeqhX2TkCK fEb8evoqUXY/XlqJQrio+/52c3ICH2IqfkrArXcK7k64eyQfKP2BMt+LIZmda5ZpGIz+5c 9smdIL9jJ+5FKnAh3LCGgiitIgl/83btvaPjhSpGUKuGnJ9K0aVScwngY+W3lfYS2t4YnM UHzLFiaSxsow2UOBebAhtcBpenwpE/exs91/A4NZMRlyduDDxx7rNwbWwZs8mA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1712503124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VNLLr0NQi2kr/SMLWRwgdU/Jenen+0NCeqNkRe2weCA=; b=jGUWfqUvoPVaPbFtrrdGaK7vE5OUxbMWLbDXEuwSY0Rnmuc3bSBdZmbXfG7qXkXBjWrfNN PbB9YtTbOQGfYUdmB4fjUIWBS0a1jzIFmuvaaKJ1ATMAKIhTeV9YcRhjZ/VIuK+53XRDfF pZ8MdXhxmGaFPtGaDZC2VsDCTkoLOxQvErg7gHX1F+qrlpcFZsmh2IQfWMNgBzpOrNcEug eagvLOG2bKSKuWGshZuJGWf1rEElDV6klXR7pWFJPNJ4W7NXTkcLUpFI1Eo6R6+se+7ipO dcJqWf8hZh9frIlnQ3FBE5sCOVhsQowd9GXyCd6vh7Ge97j6rcylTIZbq3U44Q== ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=pav smtp.mailfrom=pav@iki.fi ARC-Seal: i=1; s=lahtoruutu; d=iki.fi; t=1712503124; a=rsa-sha256; cv=none; b=pgPEBBONLeEb5jiexpDZnqygNQ+3szVcV/wa9KEBIOQ/nkAShegfe4CJ19I63LQs4HWL4J +CWjKJQ6adYT8NI9wJ62zkw4ZhVX/PijSA9y88MMH68PQagfTyR9YVoCDvM9mhyvAGRadE KeNCzwrsOhx9VWOlCdtaji8FR0/fNKn5DiKTjKYobTOlCVg7CyPI8IN4h/BQjsKRoFXVRU BvTTboLWY25ypUuJN8pXLSkK2P9GUb7SIexfzRwQIHbwYtKlmm7OpyeONI/fB0mF2jvQ71 Q5SnZrSkl++t26PNJIPlryyisC6FSj9EFcurKhGCstZMSdWe+D9pljGbLf46hg== From: Pauli Virtanen To: linux-bluetooth@vger.kernel.org Cc: Pauli Virtanen Subject: [PATCH BlueZ 1/5] lib: add BT_POLL_ERRQUEUE socket option Date: Sun, 7 Apr 2024 18:18:34 +0300 Message-ID: X-Mailer: git-send-email 2.44.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Add new (experimental) socket option. --- lib/bluetooth.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/bluetooth.h b/lib/bluetooth.h index a4ed65d0b..073ed875d 100644 --- a/lib/bluetooth.h +++ b/lib/bluetooth.h @@ -240,6 +240,8 @@ enum { #define BT_ISO_BASE 20 +#define BT_POLL_ERRQUEUE 21 + /* Byte order conversions */ #if __BYTE_ORDER == __LITTLE_ENDIAN #define htobs(d) (d) From patchwork Sun Apr 7 15:18:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pauli Virtanen X-Patchwork-Id: 786770 Received: from lahtoruutu.iki.fi (lahtoruutu.iki.fi [185.185.170.37]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 780DB39AFD for ; Sun, 7 Apr 2024 15:18:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=185.185.170.37 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712503129; cv=pass; b=UFLdP84dhEq4ANhkooxXYex0ZshLxg5nLbWJlTg2SOq+ONQVPNHdV2RF+nTRmexeXyptuut54ovQ3VMB3Xhj8XR7jg5zViqvVeRn4eX8eTfssRVXKP1DxQX+TfWO7I8ZaWhyFijG/h7WgZMo84ZdAoVJyUzJg42HpsIJt184ubE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712503129; c=relaxed/simple; bh=AgcZoEuJfbZoCjUu/4k/FJuQRHUDvcopkufv/h//C6Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gkNc9bhNuA27LzQtvdpbYaynWnzV9CDPw+XqNU9DgRvEW7UuLWYPoeRnMvhkCtAVnm/UlxONW0RkM4GAUthvpNaCHHAm9ZC1Ct4/LZT3pc531mtx5ZQF3/d4t0ySHmkRj7m846RDAv4oUJyCCKkTnCuRHwIfXLWWjFk6BM8hDto= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iki.fi; spf=pass smtp.mailfrom=iki.fi; dkim=pass (2048-bit key) header.d=iki.fi header.i=@iki.fi header.b=G+2euRi+; arc=pass smtp.client-ip=185.185.170.37 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iki.fi Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=iki.fi Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=iki.fi header.i=@iki.fi header.b="G+2euRi+" Received: from monolith.lan (unknown [193.138.7.158]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: pav) by lahtoruutu.iki.fi (Postfix) with ESMTPSA id 4VCG8N74ycz49Q20; Sun, 7 Apr 2024 18:18:44 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1712503125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=pkyZrSOTT3NvVIPAjUfwU9CnIkZi7NLUach/U+zZUh8=; b=G+2euRi+lPrZv8BymJXC4iGDOxAceGeTNl5BPH5y6E7+n3Dv9IivD4ns/PvVFyrt+cNkce psfwUWO4osCJqGLxfrXq/KFnord5bfejlfMOC0fTbqodymSnshaILL1pHLSk+C2pHue8IE kVH6uztDyv+hPLh7n1nMNH+IcTk8a260PeJglU3YmMhCUw6HvVry3hD6bEjal0OzHAiLL8 ywmng/pG7mHCu0eO+8apO8/CMb/mY1X36PdKFOTxQRiELftPhiDjyoMT+CNFWrnJLhZLuJ BZAnvtk3kTb9PsV5jBeGPNLi9suPh/BlhvS1RneGY6BnuVKJE6la2VtpD5cAIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1712503125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=pkyZrSOTT3NvVIPAjUfwU9CnIkZi7NLUach/U+zZUh8=; b=amdgStF0c9oS311Mv3ezMln3WqW+LVylv+AliiiYJ/exMYQpGGpjWhbZ3081NaCbyZoyQv GUHTM6o/osnQ0wr9wRBbB1hdDorcq5rmw6Giw6/bMI5MaS+j3ZAbdxzUi3NGruV9Cz7UJc /jdXy28Yl8Z1HnGffpR41SRP0+DSCkv5P6+rgbSHik4MoBSAQztsYgS4I/DKz78yptILw/ RRFdJ2JENmn398haBEf95BHY0UxqDR7c676SizkEkoDTyrG3XL5vrFg8VvvsmSBCFumW42 GsnLekZQfzmHoM/ZRt10BxXLZLlOt3rANEKajTmxLaRlyP1ThYWodVFYMDXqyg== ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=pav smtp.mailfrom=pav@iki.fi ARC-Seal: i=1; s=lahtoruutu; d=iki.fi; t=1712503125; a=rsa-sha256; cv=none; b=risnzhI0B6MmXIBvPZh8FiMs2zi01PqqTez4GGOe+KVC/o9R/m+K1omGu8Ao641VWTgVdX nJlRkmU0WorW6LGfdeZyYZb91YmkrPwy1sw/et7i413HNPXVXR4VBHpgBCg+vbFxkzWvmo LNg/AZQ+vh1IdOasXfAkZSA48rkzz0qEBGGgtsDzTP5iwAMFW/73OwnRQ6fvEWr/JeXnIn N22y07gYfjLwjtdRJdut2g+nCYpGm9qjpbINrdWHfMfVVuc5LYe13eICVQeYSOA8QjNWed sqpZ7mKdv6hGesEAwHjdMu15HqkLNt2ClEAyZecplI6340nCSJ6q/95Gip3fyw== From: Pauli Virtanen To: linux-bluetooth@vger.kernel.org Cc: Pauli Virtanen Subject: [PATCH BlueZ 2/5] adapter: add support for setting POLL_ERRQUEUE experimental feature Date: Sun, 7 Apr 2024 18:18:35 +0300 Message-ID: X-Mailer: git-send-email 2.44.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Add support for setting an experimental feature UUID which enables the use of the BT_POLL_ERRQUEUE socket option. Change adapter initialization to read and set also INDEX_NONE features. This may set them multiple times, but this is harmless and it is simpler to use the same framework. --- src/adapter.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++++--- src/adapter.h | 1 + src/main.c | 1 + src/main.conf | 1 + 4 files changed, 72 insertions(+), 3 deletions(-) diff --git a/src/adapter.c b/src/adapter.c index 017e60233..1a9e28bed 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -148,6 +148,13 @@ static const struct mgmt_exp_uuid iso_socket_uuid = { .str = "6fbaf188-05e0-496a-9885-d6ddfdb4e03e" }; +/* 69518c4c-b69f-4679-8bc1-c021b47b5733 */ +static const struct mgmt_exp_uuid poll_errqueue_uuid = { + .val = { 0x33, 0x57, 0x7b, 0xb4, 0x21, 0xc0, 0xc1, 0x8b, + 0x79, 0x46, 0x9f, 0xb6, 0x4c, 0x8c, 0x51, 0x69 }, + .str = "69518c4c-b69f-4679-8bc1-c021b47b5733" +}; + static DBusConnection *dbus_conn = NULL; static uint32_t kernel_features = 0; @@ -10027,6 +10034,44 @@ static void iso_socket_func(struct btd_adapter *adapter, uint8_t action) btd_error(adapter->dev_id, "Failed to set ISO Socket"); } +static void poll_errqueue_complete(uint8_t status, uint16_t len, + const void *param, void *user_data) +{ + struct exp_pending *pending = user_data; + struct btd_adapter *adapter = pending->adapter; + uint8_t action; + + if (status != 0) { + error("Set Poll Errqueue failed with status 0x%02x (%s)", + status, mgmt_errstr(status)); + return; + } + + action = btd_kernel_experimental_enabled(poll_errqueue_uuid.str); + + DBG("Poll Errqueue successfully %s", action ? "set" : "reset"); + + if (action) + queue_push_tail(adapter->exps, + (void *)poll_errqueue_uuid.val); +} + +static void poll_errqueue_func(struct btd_adapter *adapter, uint8_t action) +{ + struct mgmt_cp_set_exp_feature cp; + + memset(&cp, 0, sizeof(cp)); + memcpy(cp.uuid, poll_errqueue_uuid.val, 16); + cp.action = action; + + if (exp_mgmt_send(adapter, MGMT_OP_SET_EXP_FEATURE, + MGMT_INDEX_NONE, sizeof(cp), &cp, + poll_errqueue_complete)) + return; + + btd_error(adapter->dev_id, "Failed to set Poll Errqueue"); +} + static const struct exp_feat { uint32_t flag; const struct mgmt_exp_uuid *uuid; @@ -10041,6 +10086,8 @@ static const struct exp_feat { EXP_FEAT(EXP_FEAT_CODEC_OFFLOAD, &codec_offload_uuid, codec_offload_func), EXP_FEAT(EXP_FEAT_ISO_SOCKET, &iso_socket_uuid, iso_socket_func), + EXP_FEAT(EXP_FEAT_POLL_ERRQUEUE, &poll_errqueue_uuid, + poll_errqueue_func), }; static void read_exp_features_complete(uint8_t status, uint16_t length, @@ -10052,8 +10099,6 @@ static void read_exp_features_complete(uint8_t status, uint16_t length, size_t feature_count = 0; size_t i = 0; - DBG("index %u status 0x%02x", adapter->dev_id, status); - if (status != MGMT_STATUS_SUCCESS) { btd_error(adapter->dev_id, "Failed to read exp features info: %s (0x%02x)", @@ -10105,10 +10150,31 @@ static void read_exp_features_complete(uint8_t status, uint16_t length, } } +static void read_exp_features_adapter_complete(uint8_t status, uint16_t length, + const void *param, void *user_data) +{ + struct exp_pending *pending = user_data; + struct btd_adapter *adapter = pending->adapter; + + DBG("index %u status 0x%02x", adapter->dev_id, status); + return read_exp_features_complete(status, length, param, user_data); +} + +static void read_exp_features_none_complete(uint8_t status, uint16_t length, + const void *param, void *user_data) +{ + DBG("index NONE status 0x%02x", status); + return read_exp_features_complete(status, length, param, user_data); +} + static void read_exp_features(struct btd_adapter *adapter) { if (exp_mgmt_send(adapter, MGMT_OP_READ_EXP_FEATURES_INFO, - adapter->dev_id, 0, NULL, read_exp_features_complete)) + adapter->dev_id, 0, NULL, + read_exp_features_adapter_complete) && + exp_mgmt_send(adapter, MGMT_OP_READ_EXP_FEATURES_INFO, + MGMT_INDEX_NONE, 0, NULL, + read_exp_features_none_complete)) return; btd_error(adapter->dev_id, "Failed to read exp features info"); diff --git a/src/adapter.h b/src/adapter.h index ca96c1f65..2ca045539 100644 --- a/src/adapter.h +++ b/src/adapter.h @@ -268,6 +268,7 @@ enum experimental_features { EXP_FEAT_RPA_RESOLUTION = 1 << 3, EXP_FEAT_CODEC_OFFLOAD = 1 << 4, EXP_FEAT_ISO_SOCKET = 1 << 5, + EXP_FEAT_POLL_ERRQUEUE = 1 << 6, }; bool btd_adapter_has_exp_feature(struct btd_adapter *adapter, uint32_t feature); diff --git a/src/main.c b/src/main.c index f774670e4..78831ad02 100644 --- a/src/main.c +++ b/src/main.c @@ -707,6 +707,7 @@ static const char *valid_uuids[] = { "330859bc-7506-492d-9370-9a6f0614037f", "a6695ace-ee7f-4fb9-881a-5fac66c629af", "6fbaf188-05e0-496a-9885-d6ddfdb4e03e", + "69518c4c-b69f-4679-8bc1-c021b47b5733", "*" }; diff --git a/src/main.conf b/src/main.conf index 815f1c0f8..49864b5c3 100644 --- a/src/main.conf +++ b/src/main.conf @@ -136,6 +136,7 @@ # 330859bc-7506-492d-9370-9a6f0614037f (BlueZ Experimental Bluetooth Quality Report) # a6695ace-ee7f-4fb9-881a-5fac66c629af (BlueZ Experimental Offload Codecs) # 6fbaf188-05e0-496a-9885-d6ddfdb4e03e (BlueZ Experimental ISO socket) +# 69518c4c-b69f-4679-8bc1-c021b47b5733 (BlueZ Experimental Poll Errqueue) # Defaults to false. #KernelExperimental = false From patchwork Sun Apr 7 15:18:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pauli Virtanen X-Patchwork-Id: 787679 Received: from lahtoruutu.iki.fi (lahtoruutu.iki.fi [185.185.170.37]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5FD1939AFE for ; Sun, 7 Apr 2024 15:18:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=185.185.170.37 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712503130; cv=pass; b=aWelmXHzfYmUtsKBcYTxMPQvR6bGnuXrkwjTiqOMsojTRyZ9HbQjoBZPtdvFM3Y69IYFXMapedzHMW4CRFEk1qDNneSueamM8XB8O6B6N8h3XtQjg6GFdEMRL5hNhiqdLHTnEaR6Q86i08DuTvB4w/IbAef7hK6ZylY4T5W0y2g= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712503130; c=relaxed/simple; bh=cGTvvZwDMjuLgtt78extSnJNHQmmf37PS1y8Xqt8soI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KUzHaVviKj5/A06um+VnwlbALXPxZtR06/SZKGJUhspB2PjggE7her13xHoq1gXrqWUH0CgNsixtz6+S/8yHkMDIoCk1zC2k4RmjqRbK2etWnFz+qKvtsgvpoEJ6osrkEHjFyTuUs9UfGDxLn2ap9hnS0KIJBb427+JaGqkzg/s= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iki.fi; spf=pass smtp.mailfrom=iki.fi; dkim=pass (2048-bit key) header.d=iki.fi header.i=@iki.fi header.b=CD50lGtK; arc=pass smtp.client-ip=185.185.170.37 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iki.fi Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=iki.fi Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=iki.fi header.i=@iki.fi header.b="CD50lGtK" Received: from monolith.lan (unknown [193.138.7.158]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: pav) by lahtoruutu.iki.fi (Postfix) with ESMTPSA id 4VCG8P6RPKz49Q4P; Sun, 7 Apr 2024 18:18:45 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1712503126; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=NGni8G/HbfPGiuILInXjh8i667wl3mUsEU7q/qnORcE=; b=CD50lGtKmkBPR1+p8ETiaNb2dZqSpMvPwavm0Vsnconxx50EvvbEnHSqW++5qX3wNVe/ca lzvCeonep4A1mlNsGPV8h7uLQqbPT/j7EfLnC0/NsibqydCHD3zJ3rIuakxilfbIAEgKgx Ld4gc1sZ216m1JANbNCheXWIYDhrH9rlnBk2L9InrZdmPypRlSCwXhTkk06M7X6FIRwxKW LpmatU8TzO4a6q9YY0/bXn1P4J8BaXvVYqckLm8wdynGf8g/zROg9GGNFHJfR11J46QQXw cB0cDMpvFeLWNbpMn8kt1Oxo0/v9lUxl4m7rlzKaIFhJFmJDg0DnQQkwnyGvJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1712503126; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=NGni8G/HbfPGiuILInXjh8i667wl3mUsEU7q/qnORcE=; b=WmMseD1x2g0mVSPxHVurUflCacWQrgEA25sc7Naz4d5WMDFo6XG0uE9dWERd3fPF28jCIb T00/qbedGtlVMKd+2tx2pYET185d6wyGVDeb1eHlxrocf4q+3saQhi+3UYBGP8qaEGwrKH AaMl/Q2w5Z1o3JjkGlDM7ID9IAjL1/6vlMXlzdv/amiBttBIZL1sP78ygek2xS2d1Luvh9 iUou2nZk//QCiQ7se15xfOnoD156etnbZOlVkiEVryQjIFigdK48JtDhlj0M8aLwrmGU2G YgRTrRrSuWg9th91sMtHxXEsWBGUAzPo8wdrHXLunPx+ElFB9+yEDQ+Qg87uww== ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=pav smtp.mailfrom=pav@iki.fi ARC-Seal: i=1; s=lahtoruutu; d=iki.fi; t=1712503126; a=rsa-sha256; cv=none; b=NO3ubCCYI91GYYQ86fwNGdW5/Qv6NcyYys6T/aSjjb2fgJRGoHiFFZQX2vTLQjqt4aKDek fg2AY5hrEqd1Twjdh8JK/iBiH37iTTGQd4QHGN+hehJD+l86WJHBKyah1DxCXhV0u1UT/J saUFbguCaXKmluPTlyTf437zeilFhuDnxPF8mJHS56YLh4IR5NtuPUSZVL/zH57mlyxfQD CPjfHkMCfTFKozTvHIiWCYT8JC+sLSte68k8ryj1jkXNtO2kNsUSbc0v3WwTQvdBBE70bc jsWxZOUy9EHTNNuIJlRUZELnvVgi2c+HT1HNUyso+12R1cav6XjQWZsvDtOMfw== From: Pauli Virtanen To: linux-bluetooth@vger.kernel.org Cc: Pauli Virtanen Subject: [PATCH BlueZ 3/5] mgmt-tester: update for Poll Errqueue experimental fature Date: Sun, 7 Apr 2024 18:18:36 +0300 Message-ID: X-Mailer: git-send-email 2.44.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Update Read Exp Feature - Success (Index None) for new experimental feature Poll Errqueue. --- tools/mgmt-tester.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/mgmt-tester.c b/tools/mgmt-tester.c index 8a4fbc2eb..81636200e 100644 --- a/tools/mgmt-tester.c +++ b/tools/mgmt-tester.c @@ -9985,7 +9985,7 @@ static const struct generic_data read_exp_feat_success = { static const uint8_t read_exp_feat_param_success_index_none[] = { - 0x02, 0x00, /* Feature Count */ + 0x03, 0x00, /* Feature Count */ 0x1c, 0xda, 0x47, 0x1c, 0x48, 0x6c, /* UUID - Debug */ 0x01, 0xab, 0x9f, 0x46, 0xec, 0xb9, 0x30, 0x25, 0x99, 0xd4, @@ -9994,6 +9994,10 @@ static const uint8_t read_exp_feat_param_success_index_none[] = { 0x85, 0x98, 0x6a, 0x49, 0xe0, 0x05, 0x88, 0xf1, 0xba, 0x6f, 0x00, 0x00, 0x00, 0x00, /* Flags */ + 0x33, 0x57, 0x7b, 0xb4, 0x21, 0xc0, /* UUID - Poll Errqueue */ + 0xc1, 0x8b, 0x79, 0x46, 0x9f, 0xb6, + 0x4c, 0x8c, 0x51, 0x69, + 0x00, 0x00, 0x00, 0x00, /* Flags */ }; static const struct generic_data read_exp_feat_success_index_none = { From patchwork Sun Apr 7 15:18:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pauli Virtanen X-Patchwork-Id: 786769 Received: from lahtoruutu.iki.fi (lahtoruutu.iki.fi [185.185.170.37]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0817439FEC for ; Sun, 7 Apr 2024 15:18:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=185.185.170.37 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712503130; cv=pass; b=YftmUSdYbzej6yOvZwS7hPQoG5qxl+uTBqjfFpJEvx/CAGHWQ2yOKnbRYYOv54WzG7eAV89WtkF8/ADZF/yxIb8R706Dm3UxmPWKohprYW26H5wuP6/HZDi9f6T7RJBQlkXzgi8cFifxj3mOP63nQskbyO3OvN+ykxz3g3msjyk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712503130; c=relaxed/simple; bh=+tLstDdicfRRHseZt+4NFiCFZytjP2/QzgxOd04EEjU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AvIBuZ03n4PWSkSpT4/6nveAmMz79MKj2sPgCJG2rUz/BP7jB1iTOVMRYCPHpOlhsgqds+JcAHBW785hUyaeA8AQ5sQ+gu7sQJdtfigIBpyZsN45kWuLvYvTYdfkRzc5tiggfiMDqIEm9KslYmLCDoWSMp+5naZGaCG6TQ3KX4I= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iki.fi; spf=pass smtp.mailfrom=iki.fi; dkim=pass (2048-bit key) header.d=iki.fi header.i=@iki.fi header.b=llFNzOPa; arc=pass smtp.client-ip=185.185.170.37 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iki.fi Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=iki.fi Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=iki.fi header.i=@iki.fi header.b="llFNzOPa" Received: from monolith.lan (unknown [193.138.7.158]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: pav) by lahtoruutu.iki.fi (Postfix) with ESMTPSA id 4VCG8Q5mSvz49Q3T; Sun, 7 Apr 2024 18:18:46 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1712503127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PAI4YaUWJYHKqWTBza6Y8R7sdC/Fa0mza3ST+h24iSY=; b=llFNzOPaQXYpt3Y7rtWccb7sGplc7yjihuZRLflbN1hFRW4tz/oEoUIIUW7L/axHkT/dwA sQn5NywbQzQKucRa+ypoqcnuyuoS/P7yjFCJ2YxjNl3O6gcl0igKg8otLWS+avHatDa2xh /xGelQhFp/ToirwQMvMPk7AmNxueDbFSj/fDbiKlWq4m2xE6iy24U9oVE6RTT2meeIxwJD LGZoxlDEGDV2JSMwZj6q8wtlU9OqDPcAF9rn0Zi5VAw7J5jh1OKZOzfBTV88hrndhvgPIH EStYMs68trXWtWpkDqpH6LpC/usVi8OHBG74SFS4A1wj8IUqXF+1TrWYVM/TIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1712503127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PAI4YaUWJYHKqWTBza6Y8R7sdC/Fa0mza3ST+h24iSY=; b=h9E/S04Hrp2FdQ0asNjp+109hG/Gwp5cS/8RxnVkttml9i4YvhqqjQJG6nrVRtchKZzpL9 r2dA9J6/H776mrSGGR246ILfHKSK/puX4H1utUgT5+8e5ONmLkXaepr+nvq52RrppvRKIw 7bv2uzIx2MrQbqngbmxcFCxsVDG6hTk+r+bkfZYOzOCycnIWNnXG9ZGG3kwegjBwjeLArs Orssu2A+69koVchaVWfnRYHiMtN0sPaMQ47NHDaX7GloXNQnAWSf2IQqD7OslfZMYigfV9 TOl2DPoYsbtvbY/0uKMpKQaaOcKLY39NvDEGi6HJEsneN4OIdsZ/rsfsixRmZw== ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=pav smtp.mailfrom=pav@iki.fi ARC-Seal: i=1; s=lahtoruutu; d=iki.fi; t=1712503127; a=rsa-sha256; cv=none; b=dwAbXSKZxpvkynVHaah4cQc0qeQKKLJiQ3URwIBvzMzihKAXKa5tW10yrqdqFgOp/NyUK7 mkpG7PYB2zVG7pLCiqdJ4lQ5cU5yqvwNFDVy35SiZ6JWZYNVUIACnXCMn0SSZ1r802c3z9 yD4cytk1D+cYnwVqYZx+GVHyd/SyI3+a2LfXIMoBDTSyLbjIMsQdr5FXtfJ6uUUcDv4GYf KITEiW+UHUDn+hOfp+5KVsocPYqw93bEDTMkmEGlnstyifh2Ea6iRHCFHUpyKPTjEOIVaL WurAcWWqIOUnESo0vPNmLS18gHtPjAvigxCgvQtYq1mlURMniWcLyRSr2b0fLA== From: Pauli Virtanen To: linux-bluetooth@vger.kernel.org Cc: Pauli Virtanen Subject: [PATCH BlueZ 4/5] iso-tester: add test for BT_POLL_ERRQUEUE Date: Sun, 7 Apr 2024 18:18:37 +0300 Message-ID: <1a56b2769c23485127587ab245b6b9e84cccdde3.1712503074.git.pav@iki.fi> X-Mailer: git-send-email 2.44.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Also test BT_POLL_ERRQUEUE is experimental feature. Add test: ISO Send - TX No Poll Timestamping --- tools/iso-tester.c | 124 ++++++++++++++++++++++++++++++++++++++++++++- tools/tester.h | 3 ++ 2 files changed, 125 insertions(+), 2 deletions(-) diff --git a/tools/iso-tester.c b/tools/iso-tester.c index c29fedd1d..046606068 100644 --- a/tools/iso-tester.c +++ b/tools/iso-tester.c @@ -470,7 +470,7 @@ struct test_data { uint16_t handle; uint16_t acl_handle; struct queue *io_queue; - unsigned int io_id[3]; + unsigned int io_id[4]; uint8_t client_num; int step; bool reconnect; @@ -513,6 +513,9 @@ struct iso_client_data { * Used for testing TX timestamping OPT_ID. */ unsigned int repeat_send; + + /* Disable BT_POLL_ERRQUEUE before enabling TX timestamping */ + bool no_poll_errqueue; }; typedef bool (*iso_defer_accept_t)(struct test_data *data, GIOChannel *io); @@ -648,6 +651,18 @@ static const uint8_t reset_iso_socket_param[] = { 0x00, /* Action - disable */ }; +static const uint8_t set_poll_errqueue_param[] = { + 0x33, 0x57, 0x7b, 0xb4, 0x21, 0xc0, 0xc1, 0x8b, /* UUID */ + 0x79, 0x46, 0x9f, 0xb6, 0x4c, 0x8c, 0x51, 0x69, + 0x01, /* Action - enable */ +}; + +static const uint8_t reset_poll_errqueue_param[] = { + 0x33, 0x57, 0x7b, 0xb4, 0x21, 0xc0, 0xc1, 0x8b, /* UUID */ + 0x79, 0x46, 0x9f, 0xb6, 0x4c, 0x8c, 0x51, 0x69, + 0x00, /* Action - disable */ +}; + static void set_iso_socket_callback(uint8_t status, uint16_t length, const void *param, void *user_data) { @@ -659,9 +674,21 @@ static void set_iso_socket_callback(uint8_t status, uint16_t length, tester_print("ISO socket feature is enabled"); } +static void set_poll_errqueue_callback(uint8_t status, uint16_t length, + const void *param, void *user_data) +{ + if (status != MGMT_STATUS_SUCCESS) { + tester_print("Poll Errqueue feature could not be enabled"); + return; + } + + tester_print("Poll Errqueue feature is enabled"); +} + static void test_pre_setup(const void *test_data) { struct test_data *data = tester_get_data(); + const struct iso_client_data *isodata = test_data; data->mgmt = mgmt_new_default(); if (!data->mgmt) { @@ -677,6 +704,13 @@ static void test_pre_setup(const void *test_data) sizeof(set_iso_socket_param), set_iso_socket_param, set_iso_socket_callback, NULL, NULL); + if (isodata && isodata->no_poll_errqueue) { + mgmt_send(data->mgmt, MGMT_OP_SET_EXP_FEATURE, MGMT_INDEX_NONE, + sizeof(set_poll_errqueue_param), + set_poll_errqueue_param, + set_poll_errqueue_callback, NULL, NULL); + } + mgmt_send(data->mgmt, MGMT_OP_READ_INDEX_LIST, MGMT_INDEX_NONE, 0, NULL, read_index_list_callback, NULL, NULL); } @@ -684,11 +718,19 @@ static void test_pre_setup(const void *test_data) static void test_post_teardown(const void *test_data) { struct test_data *data = tester_get_data(); + const struct iso_client_data *isodata = test_data; mgmt_send(data->mgmt, MGMT_OP_SET_EXP_FEATURE, MGMT_INDEX_NONE, sizeof(reset_iso_socket_param), reset_iso_socket_param, NULL, NULL, NULL); + if (isodata && isodata->no_poll_errqueue) { + mgmt_send(data->mgmt, MGMT_OP_SET_EXP_FEATURE, MGMT_INDEX_NONE, + sizeof(reset_poll_errqueue_param), + reset_poll_errqueue_param, + NULL, NULL, NULL); + } + hciemu_unref(data->hciemu); data->hciemu = NULL; } @@ -1044,6 +1086,16 @@ static const struct iso_client_data connect_send_tx_cmsg_timestamping = { .cmsg_timestamping = true, }; +static const struct iso_client_data connect_send_tx_no_poll_timestamping = { + .qos = QOS_16_2_1, + .expect_err = 0, + .send = &send_16_2_1, + .so_timestamping = (SOF_TIMESTAMPING_SOFTWARE | + SOF_TIMESTAMPING_TX_SOFTWARE), + .repeat_send = 1, + .no_poll_errqueue = true, +}; + static const struct iso_client_data listen_16_2_1_recv = { .qos = QOS_16_2_1, .expect_err = 0, @@ -2162,6 +2214,37 @@ static gboolean iso_recv_errqueue(GIOChannel *io, GIOCondition cond, return FALSE; } +static gboolean iso_fail_errqueue(GIOChannel *io, GIOCondition cond, + gpointer user_data) +{ + struct test_data *data = user_data; + + tester_warn("Unexpected POLLERR"); + tester_test_failed(); + + data->io_id[3] = 0; + return FALSE; +} + +static gboolean iso_timer_errqueue(gpointer user_data) +{ + struct test_data *data = user_data; + GIOChannel *io; + gboolean ret; + + io = queue_peek_head(data->io_queue); + g_assert(io); + + ret = iso_recv_errqueue(io, G_IO_IN, data); + if (!ret) { + if (data->io_id[3]) + g_source_remove(data->io_id[3]); + data->io_id[3] = 0; + } + + return ret; +} + static void iso_tx_timestamping(struct test_data *data, GIOChannel *io) { const struct iso_client_data *isodata = data->test_data; @@ -2182,7 +2265,39 @@ static void iso_tx_timestamping(struct test_data *data, GIOChannel *io) sk = g_io_channel_unix_get_fd(io); - data->io_id[2] = g_io_add_watch(io, G_IO_ERR, iso_recv_errqueue, data); + if (isodata->no_poll_errqueue) { + uint32_t flag = 0; + + err = setsockopt(sk, SOL_BLUETOOTH, BT_POLL_ERRQUEUE, + &flag, sizeof(flag)); + if (err < 0) { + tester_warn("setsockopt BT_POLL_ERRQUEUE: %s (%d)", + strerror(errno), errno); + tester_test_failed(); + return; + } + + if (!data->io_queue) + data->io_queue = queue_new(); + queue_push_head(data->io_queue, g_io_channel_ref(io)); + + data->io_id[2] = g_timeout_add(100, iso_timer_errqueue, data); + data->io_id[3] = g_io_add_watch(io, G_IO_ERR, iso_fail_errqueue, + data); + } else { + uint32_t flag = 1; + + err = setsockopt(sk, SOL_BLUETOOTH, BT_POLL_ERRQUEUE, + &flag, sizeof(flag)); + if (err >= 0) { + tester_warn("BT_POLL_ERRQUEUE available"); + tester_test_failed(); + return; + } + + data->io_id[2] = g_io_add_watch(io, G_IO_ERR, iso_recv_errqueue, + data); + } if (isodata->cmsg_timestamping) so &= ~SOF_TIMESTAMPING_TX_RECORD_MASK; @@ -3407,6 +3522,11 @@ int main(int argc, char *argv[]) &connect_send_tx_cmsg_timestamping, setup_powered, test_connect); + /* Test TX timestamping and disabling POLLERR wakeup */ + test_iso("ISO Send - TX No Poll Timestamping", + &connect_send_tx_no_poll_timestamping, setup_powered, + test_connect); + test_iso("ISO Receive - Success", &listen_16_2_1_recv, setup_powered, test_listen); diff --git a/tools/tester.h b/tools/tester.h index 617de842e..b6de084a4 100644 --- a/tools/tester.h +++ b/tools/tester.h @@ -89,6 +89,9 @@ static inline int tx_tstamp_recv(struct tx_tstamp_data *data, int sk, int len) ret = recvmsg(sk, &msg, MSG_ERRQUEUE); if (ret < 0) { + if (ret == EAGAIN || ret == EWOULDBLOCK) + return data->count - data->pos; + tester_warn("Failed to read from errqueue: %s (%d)", strerror(errno), errno); return -EINVAL; From patchwork Sun Apr 7 15:18:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pauli Virtanen X-Patchwork-Id: 787678 Received: from lahtoruutu.iki.fi (lahtoruutu.iki.fi [185.185.170.37]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3B28239AFD for ; Sun, 7 Apr 2024 15:18:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=185.185.170.37 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712503131; cv=pass; b=oSQKpLLcBwuzAXr3bqwLJuMEwLKsx6J6jE8OuREPvj5Sget4FtdX/jMQWTHHRj174yoSaM5WqZOtAMWdAd/9taiNoJNMNvLGiNOPdbDS1Oc6Rzm0tPaAzp9XHkGAKMdNRgQDHthUNOqy7fQxtkDUzahSB1PlfF2N5iOSjZDyzS0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712503131; c=relaxed/simple; bh=1EqbKHDnY+l/l7Zq+8VPrkz8cJmkPDjgB7R48X6LDYo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hDPGgwsn4Tqkuq5Ne1dJtgzJsjFkl9h+9iH2/oT5Z/yAwp1QKFLkk+LOqXEtJTgZCjW2a/hn4OTuURykCLCbjt2cLCO0cihmYPNaBjH422dFBx86br1kbG/NdfMhfkd8NZfAwdXw66HNsE50qJEj4C/6FlAXQyfTehpkVF/0dEs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iki.fi; spf=pass smtp.mailfrom=iki.fi; dkim=pass (2048-bit key) header.d=iki.fi header.i=@iki.fi header.b=nFOq1+Gf; arc=pass smtp.client-ip=185.185.170.37 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iki.fi Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=iki.fi Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=iki.fi header.i=@iki.fi header.b="nFOq1+Gf" Received: from monolith.lan (unknown [193.138.7.158]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: pav) by lahtoruutu.iki.fi (Postfix) with ESMTPSA id 4VCG8R57s4z49Q4W; Sun, 7 Apr 2024 18:18:47 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1712503128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bhTPF9hv+qTQNbUl9Ufx8o0mH3bQlDxzUC2fnUxv7vo=; b=nFOq1+GfxxkWUBVuwt4FXhXn2t2OcUsTWCExTFQ/YuIYyLCvefc0jR1NVcAeyvKfkl5pBT R5Hc3nfr+enj8+8+IMgFU5vPA41xoLzsw1WsfA/LSNDwxW9h6E9Kwzip0yKSzEl12b0+rB AYS9PpS0/uX54Iuif+POf9rHutk3kFS6Lswypnm9UYUmKvQx9X4/cwtfDwo7QOFsDMxTrR 9DzvPdVL7UgLkHJl+PPfN2BaXDDR5KfZrV82/u/zJpHwNi4Luy7mbRnilaOTISDopcutYU seOhbKhw74ckPqCDuGzM0iWyUpHHwrXAYEdMpvkDkmR+xxTXVd4EZXWYCaJr4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1712503128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bhTPF9hv+qTQNbUl9Ufx8o0mH3bQlDxzUC2fnUxv7vo=; b=Eht6JHtYYVZAO7JYjdRSO3pSlj2QV3JqpqDAW5NzMymo3lkhw55gl02303UWsLvqEMybjO 1xIiLHlZ618zheC7izIvI5j9OOfvkbaJwzNRC2Rkp8YIzyAUS/v9MacVTEUPgZQvGEwWBN qyGkFcxQNKhw8ZLafbh5gw/tXYFYKWfLjeXKorxqF8REt9EqfkkYSolxe3vwATfc9M1fgA AR310VOCT86sXVTTyzqA+cbt95K6ZLtTzBWF4WCg/A8COCXsak8oza+8oC5wZsvbwu2Uo/ VC+ATJvG3HS3ww96Jc3/PZ1EmPO2g84Vh4kEUloZSMAvVhPZ0MR6/KZPF8R3/A== ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=pav smtp.mailfrom=pav@iki.fi ARC-Seal: i=1; s=lahtoruutu; d=iki.fi; t=1712503128; a=rsa-sha256; cv=none; b=KrEhHuYyqvftvLcTiZRPdQTrszuWlRCL/+zXfKscy539mwQyqoaWT2/ACbFdvGUWDbDAbR noT2/fY3ahzYpZ35YyxRQCYL31Nz531BD/tB8/824QjygYtjMOaOwY9ThJnoXKo9wxHDq8 WZo8UEXVZEWWCX/tUD3Dc7U3TS4Y+zpjwM/2ua0da7dMTsKnlsyk4kIJbd0l5Xh+KD1ra9 hEAFqI7Pw1qQmud2n/w5A8K4KjURz22zJ1sfK7Wpa6HGkLFRkESh04hIvJAjsajzTyKvPb D8RH0kXVn8k0Tjckg7DFfG497n4B22X3TUu1AbyK5e5PfFtLPnlrC9Zs3qjDOA== From: Pauli Virtanen To: linux-bluetooth@vger.kernel.org Cc: Pauli Virtanen Subject: [PATCH BlueZ 5/5] shared/util: add uuid for Poll Errqueue experimental feature Date: Sun, 7 Apr 2024 18:18:38 +0300 Message-ID: <154de61f1e87066cdcb14541a74e8634f3ad9b34.1712503074.git.pav@iki.fi> X-Mailer: git-send-email 2.44.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Add UUID for Poll Errqueue experimental feature to bt_uuidstr_to_str(). --- src/shared/util.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/shared/util.c b/src/shared/util.c index 0e71fda02..ee59b94a0 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -1653,6 +1653,8 @@ static const struct { { "a6695ace-ee7f-4fb9-881a-5fac66c629af", "BlueZ Offload Codecs"}, { "6fbaf188-05e0-496a-9885-d6ddfdb4e03e", "BlueZ Experimental ISO Socket"}, + { "69518c4c-b69f-4679-8bc1-c021b47b5733", + "BlueZ Experimental Poll Errqueue"}, { } };