From a1098f655f041f361d7020e35c35df8215131280 Mon Sep 17 00:00:00 2001 From: Frédéric Danis Date: Wed, 24 Oct 2012 16:34:08 +0200 Subject: adapter: Read pairable timeout in storage at init --- src/adapter.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/adapter.c b/src/adapter.c index d0a8404f..918991cc 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -2107,16 +2107,6 @@ static int get_discoverable_timeout(const char *src) return main_opts.discovto; } -static int get_pairable_timeout(const char *src) -{ - int timeout; - - if (read_pairable_timeout(src, &timeout) == 0) - return timeout; - - return main_opts.pairto; -} - static void set_auto_connect(gpointer data, gpointer user_data) { struct btd_device *device = data; @@ -2243,7 +2233,6 @@ void btd_adapter_start(struct btd_adapter *adapter) adapter->off_requested = FALSE; adapter->up = TRUE; adapter->discov_timeout = get_discoverable_timeout(address); - adapter->pairable_timeout = get_pairable_timeout(address); adapter->off_timer = 0; if (adapter->scan_mode & SCAN_INQUIRY) @@ -2490,6 +2479,10 @@ void btd_adapter_unref(struct btd_adapter *adapter) static void load_config(struct btd_adapter *adapter) { char name[MAX_NAME_LENGTH + 1]; + char address[18]; + int timeout; + + ba2str(&adapter->bdaddr, address); /* Get name */ if (read_local_name(&adapter->bdaddr, name) < 0) @@ -2503,6 +2496,12 @@ static void load_config(struct btd_adapter *adapter) /* Get pairable mode */ if (read_device_pairable(&adapter->bdaddr, &adapter->pairable) < 0) adapter->pairable = TRUE; + + /* Get pairable timeout */ + if (read_pairable_timeout(address, &timeout) < 0) + adapter->pairable_timeout = main_opts.pairto; + else + adapter->pairable_timeout = timeout; } gboolean adapter_init(struct btd_adapter *adapter, gboolean up) -- cgit v1.2.3