diff --git a/0001-adapter-Fix-storing-discoverable-setting.patch b/0001-adapter-Fix-storing-discoverable-setting.patch deleted file mode 100644 index 331dd06..0000000 --- a/0001-adapter-Fix-storing-discoverable-setting.patch +++ /dev/null @@ -1,92 +0,0 @@ -From b497b5942a8beb8f89ca1c359c54ad67ec843055 Mon Sep 17 00:00:00 2001 -From: Luiz Augusto von Dentz -Date: Thu, 24 Jun 2021 16:32:04 -0700 -Subject: [PATCH] adapter: Fix storing discoverable setting - -discoverable setting shall only be store when changed via Discoverable -property and not when discovery client set it as that be considered -temporary just for the lifetime of the discovery. ---- - src/adapter.c | 35 ++++++++++++++++++++++------------- - 1 file changed, 22 insertions(+), 13 deletions(-) - -diff --git a/src/adapter.c b/src/adapter.c -index 12e4ff5c0..663b778e4 100644 ---- a/src/adapter.c -+++ b/src/adapter.c -@@ -560,7 +560,11 @@ static void settings_changed(struct btd_adapter *adapter, uint32_t settings) - if (changed_mask & MGMT_SETTING_DISCOVERABLE) { - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Discoverable"); -- store_adapter_info(adapter); -+ /* Only persist discoverable setting if it was not set -+ * temporarily by discovery. -+ */ -+ if (!adapter->discovery_discoverable) -+ store_adapter_info(adapter); - btd_adv_manager_refresh(adapter->adv_manager); - } - -@@ -2162,8 +2166,6 @@ static bool filters_equal(struct mgmt_cp_start_service_discovery *a, - static int update_discovery_filter(struct btd_adapter *adapter) - { - struct mgmt_cp_start_service_discovery *sd_cp; -- GSList *l; -- - - DBG(""); - -@@ -2173,17 +2175,24 @@ static int update_discovery_filter(struct btd_adapter *adapter) - return -ENOMEM; - } - -- for (l = adapter->discovery_list; l; l = g_slist_next(l)) { -- struct discovery_client *client = l->data; -+ /* Only attempt to overwrite current discoverable setting when not -+ * discoverable. -+ */ -+ if (!(adapter->current_settings & MGMT_OP_SET_DISCOVERABLE)) { -+ GSList *l; - -- if (!client->discovery_filter) -- continue; -+ for (l = adapter->discovery_list; l; l = g_slist_next(l)) { -+ struct discovery_client *client = l->data; - -- if (client->discovery_filter->discoverable) -- break; -- } -+ if (!client->discovery_filter) -+ continue; - -- set_discovery_discoverable(adapter, l ? true : false); -+ if (client->discovery_filter->discoverable) { -+ set_discovery_discoverable(adapter, true); -+ break; -+ } -+ } -+ } - - /* - * If filters are equal, then don't update scan, except for when -@@ -2216,8 +2225,7 @@ static int discovery_stop(struct discovery_client *client) - return 0; - } - -- if (adapter->discovery_discoverable) -- set_discovery_discoverable(adapter, false); -+ set_discovery_discoverable(adapter, false); - - /* - * In the idle phase of a discovery, there is no need to stop it -@@ -6913,6 +6921,7 @@ static void adapter_stop(struct btd_adapter *adapter) - g_free(adapter->current_discovery_filter); - adapter->current_discovery_filter = NULL; - -+ set_discovery_discoverable(adapter, false); - adapter->discovering = false; - - while (adapter->connections) { --- -2.31.1 - diff --git a/bluez.spec b/bluez.spec index 485166b..a849ce1 100644 --- a/bluez.spec +++ b/bluez.spec @@ -24,8 +24,6 @@ Patch13: 0004-systemd-More-lockdown.patch Patch14: 0005-media-rename-local-function-conflicting-with-pause-2.patch # Fix FTBFS with newer glib versions Patch16: 0002-Use-g_memdup2-everywhere.patch -# https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=b497b5942a8beb8f89ca1c359c54ad67ec843055 -Patch20: 0001-adapter-Fix-storing-discoverable-setting.patch BuildRequires: dbus-devel >= 1.6 BuildRequires: glib2-devel