From 985d8ac397a7c332c1badcb95430a167ec93e9e7 Mon Sep 17 00:00:00 2001 From: Chan-yeol Park Date: Mon, 27 Aug 2012 18:19:52 +0900 Subject: [PATCH] core: Fix not updating storage when mode changes With mgmt interface bluetoothd is no longer requesting mode change for things like DiscoverableTimeout as the kernel will do that automatically when the timer expires. --- src/adapter.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/adapter.c b/src/adapter.c index 532fcddfc..50779fdf9 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -2242,7 +2242,10 @@ static void set_mode_complete(struct btd_adapter *adapter) const char *modestr; int err; - DBG(""); + modestr = mode2str(adapter->mode); + write_device_mode(&adapter->bdaddr, modestr); + + DBG("%s", modestr); if (adapter->mode == MODE_OFF) { g_slist_free_full(adapter->mode_sessions, session_free); @@ -2273,15 +2276,8 @@ static void set_mode_complete(struct btd_adapter *adapter) g_dbus_send_message(connection, reply); } - modestr = mode2str(adapter->mode); - - DBG("%s", modestr); - - /* restore if the mode doesn't matches the pending */ - if (err != 0) { - write_device_mode(&adapter->bdaddr, modestr); + if (err != 0) error("unable to set mode: %s", mode2str(pending->mode)); - } session_unref(pending); } -- 2.47.3