summaryrefslogtreecommitdiffstats
path: root/src/adapter.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/adapter.c')
-rw-r--r--src/adapter.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/adapter.c b/src/adapter.c
index 6cf2b99b..52b58c4e 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -121,6 +121,8 @@ struct btd_adapter {
gboolean initialized;
gboolean already_up; /* adapter was already up on init */
+
+ gboolean off_requested; /* DEVDOWN ioctl was called */
};
static void adapter_set_pairable_timeout(struct btd_adapter *adapter,
@@ -432,6 +434,8 @@ static int set_mode(struct btd_adapter *adapter, uint8_t new_mode)
return err;
}
+ adapter->off_requested = TRUE;
+
goto done;
}
@@ -1990,6 +1994,7 @@ static int adapter_up(struct btd_adapter *adapter, int dd)
ba2str(&adapter->bdaddr, srcaddr);
+ adapter->off_requested = FALSE;
adapter->up = 1;
adapter->discov_timeout = get_discoverable_timeout(srcaddr);
adapter->pairable_timeout = get_pairable_timeout(srcaddr);
@@ -2928,3 +2933,8 @@ gboolean adapter_is_pairable(struct btd_adapter *adapter)
{
return adapter->pairable;
}
+
+gboolean adapter_powering_down(struct btd_adapter *adapter)
+{
+ return adapter->off_requested;
+}