From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 49A5415ACFC for ; Wed, 19 Apr 2023 19:01:24 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 367DBE08D6; Wed, 19 Apr 2023 19:01:23 +0000 (UTC) Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 0444DE0898 for ; Wed, 19 Apr 2023 19:01:23 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 2B52A3410B2 for ; Wed, 19 Apr 2023 19:01:22 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 66B90A4A for ; Wed, 19 Apr 2023 19:01:20 +0000 (UTC) From: "Conrad Kostecki" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Conrad Kostecki" Message-ID: <1681930840.e995ac6f8404a060338f5cc1b05ddf48dcc5642d.conikost@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: net-wireless/bluez/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: net-wireless/bluez/files/0001-adapter-Reset-pending-settings-when-receiving-MGMT-e.patch X-VCS-Directories: net-wireless/bluez/files/ X-VCS-Committer: conikost X-VCS-Committer-Name: Conrad Kostecki X-VCS-Revision: e995ac6f8404a060338f5cc1b05ddf48dcc5642d X-VCS-Branch: master Date: Wed, 19 Apr 2023 19:01:20 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 2888c542-df85-4255-8561-1cd2a522ea99 X-Archives-Hash: 8e089ea521480d84b6397fbb354220b3 commit: e995ac6f8404a060338f5cc1b05ddf48dcc5642d Author: Michael Mair-Keimberger levelnine at> AuthorDate: Wed Apr 19 17:47:15 2023 +0000 Commit: Conrad Kostecki gentoo org> CommitDate: Wed Apr 19 19:00:40 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e995ac6f net-wireless/bluez: remove unused patch Signed-off-by: Michael Mair-Keimberger levelnine.at> Closes: https://github.com/gentoo/gentoo/pull/30653 Signed-off-by: Conrad Kostecki gentoo.org> ...et-pending-settings-when-receiving-MGMT-e.patch | 170 --------------------- 1 file changed, 170 deletions(-) diff --git a/net-wireless/bluez/files/0001-adapter-Reset-pending-settings-when-receiving-MGMT-e.patch b/net-wireless/bluez/files/0001-adapter-Reset-pending-settings-when-receiving-MGMT-e.patch deleted file mode 100644 index b9b432fadff0..000000000000 --- a/net-wireless/bluez/files/0001-adapter-Reset-pending-settings-when-receiving-MGMT-e.patch +++ /dev/null @@ -1,170 +0,0 @@ -From ede7b915980fbc80eff80aa189c35ca016956c61 Mon Sep 17 00:00:00 2001 -From: Archie Pusaka -Date: Tue, 23 Aug 2022 12:15:56 +0800 -Subject: [PATCH] adapter: Reset pending settings when receiving MGMT error - -We set the pending settings flag when sending MGMT_SETTING_* -commands to the MGMT layer and clear them when receiving a -successful reply, but we don't clear them when receiving an error -reply. This might cause a setting to be stuck in pending state. - -Therefore, also clear the pending flag when receiving error. -Furthermore, this patch also postpones setting the pending flag -until we queue the MGMT command in order to avoid setting it too -soon but we return early. - -This was caught during power off test, where MGMT_OP_SET_POWERED -returns Authentication Failed because disconnection takes too long. -Future attempts to switch power will then be ignored. - -< HCI Command: Disconnect (0x01|0x0006) plen 3 #17916 [hci0] 12.502908 - Handle: 512 - Reason: Remote Device Terminated due to Power Off (0x15) -> HCI Event: Command Status (0x0f) plen 4 #17917 [hci0] 12.503185 - Disconnect (0x01|0x0006) ncmd 1 - Status: Success (0x00) -@ MGMT Event: Command Status (0x0002) plen 3 {0x0001} [hci0] 14.519491 - Set Powered (0x0005) - Status: Authentication Failed (0x05) -= bluetoothd: Failed to set mode: Authentication Failed (0x05) 14.520042 -= bluetoothd: adapter /org/bluez/hci0 set power to 0 14.813533 -> HCI Event: Disconnect Complete (0x05) plen 4 #17918 [hci0] 16.509043 - Status: Success (0x00) - Handle: 512 - Reason: Connection Timeout (0x08) - -Reviewed-by: Sonny Sasaka ---- - src/adapter.c | 39 +++++++++++++++++++++++++++++++-------- - 1 file changed, 31 insertions(+), 8 deletions(-) - -diff --git a/src/adapter.c b/src/adapter.c -index ec26aab1a..b453e86a0 100644 ---- a/src/adapter.c -+++ b/src/adapter.c -@@ -640,14 +640,21 @@ static void new_settings_callback(uint16_t index, uint16_t length, - settings_changed(adapter, settings); - } - -+struct set_mode_data { -+ struct btd_adapter *adapter; -+ uint32_t setting; -+}; -+ - static void set_mode_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) - { -- struct btd_adapter *adapter = user_data; -+ struct set_mode_data *data = user_data; -+ struct btd_adapter *adapter = data->adapter; - - if (status != MGMT_STATUS_SUCCESS) { - btd_error(adapter->dev_id, "Failed to set mode: %s (0x%02x)", - mgmt_errstr(status), status); -+ adapter->pending_settings &= ~data->setting; - return; - } - -@@ -677,6 +684,7 @@ static bool set_mode(struct btd_adapter *adapter, uint16_t opcode, - { - struct mgmt_mode cp; - uint32_t setting = 0; -+ struct set_mode_data *data; - - memset(&cp, 0, sizeof(cp)); - cp.val = mode; -@@ -699,15 +707,20 @@ static bool set_mode(struct btd_adapter *adapter, uint16_t opcode, - break; - } - -- adapter->pending_settings |= setting; -- - DBG("sending set mode command for index %u", adapter->dev_id); - -+ data = g_new0(struct set_mode_data, 1); -+ data->adapter = adapter; -+ data->setting = setting; -+ - if (mgmt_send(adapter->mgmt, opcode, - adapter->dev_id, sizeof(cp), &cp, -- set_mode_complete, adapter, NULL) > 0) -+ set_mode_complete, data, g_free) > 0) { -+ adapter->pending_settings |= setting; - return true; -+ } - -+ g_free(data); - btd_error(adapter->dev_id, "Failed to set mode for index %u", - adapter->dev_id); - -@@ -718,6 +731,7 @@ static bool set_discoverable(struct btd_adapter *adapter, uint8_t mode, - uint16_t timeout) - { - struct mgmt_cp_set_discoverable cp; -+ struct set_mode_data *data; - - memset(&cp, 0, sizeof(cp)); - cp.val = mode; -@@ -734,11 +748,16 @@ static bool set_discoverable(struct btd_adapter *adapter, uint8_t mode, - mode); - } - -+ data = g_new0(struct set_mode_data, 1); -+ data->adapter = adapter; -+ data->setting = 0; -+ - if (mgmt_send(adapter->mgmt, MGMT_OP_SET_DISCOVERABLE, - adapter->dev_id, sizeof(cp), &cp, -- set_mode_complete, adapter, NULL) > 0) -+ set_mode_complete, data, g_free) > 0) - return true; - -+ g_free(data); - btd_error(adapter->dev_id, "Failed to set mode for index %u", - adapter->dev_id); - -@@ -2877,6 +2896,7 @@ static gboolean property_get_mode(struct btd_adapter *adapter, - - struct property_set_data { - struct btd_adapter *adapter; -+ uint32_t setting; - GDBusPendingPropertySet id; - }; - -@@ -2901,6 +2921,8 @@ static void property_set_mode_complete(uint8_t status, uint16_t length, - - g_dbus_pending_property_error(data->id, dbus_err, - mgmt_errstr(status)); -+ -+ adapter->pending_settings &= ~data->setting; - return; - } - -@@ -2969,8 +2991,6 @@ static void property_set_mode(struct btd_adapter *adapter, uint32_t setting, - - mode = (enable == TRUE) ? 0x01 : 0x00; - -- adapter->pending_settings |= setting; -- - switch (setting) { - case MGMT_SETTING_POWERED: - opcode = MGMT_OP_SET_POWERED; -@@ -3024,11 +3044,14 @@ static void property_set_mode(struct btd_adapter *adapter, uint32_t setting, - goto failed; - - data->adapter = adapter; -+ data->setting = setting; - data->id = id; - - if (mgmt_send(adapter->mgmt, opcode, adapter->dev_id, len, param, -- property_set_mode_complete, data, g_free) > 0) -+ property_set_mode_complete, data, g_free) > 0) { -+ adapter->pending_settings |= setting; - return; -+ } - - g_free(data); - --- -2.37.2 -