OSDN Git Service

core: Fix not updating storage when mode changes
authorChan-yeol Park <chanyeol.park@samsung.com>
Mon, 27 Aug 2012 09:19:52 +0000 (18:19 +0900)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Mon, 27 Aug 2012 12:38:25 +0000 (15:38 +0300)
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

index 532fcdd..50779fd 100644 (file)
@@ -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);
 }