From a2315de0f016dbf2c081216bf025f946ce088582 Mon Sep 17 00:00:00 2001 From: Archie Pusaka Date: Thu, 5 Nov 2020 14:40:32 +0800 Subject: [PATCH] service: add adapter powered check before connecting When policy_connect() is called, there might be a case where the power is just turned off, hence the adapter is down. Add a check in btd_service_connect to detect such condition. --- src/service.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/service.c b/src/service.c index d810fc3b0..21a52762e 100644 --- a/src/service.c +++ b/src/service.c @@ -229,6 +229,9 @@ int btd_service_connect(struct btd_service *service) if (!profile->connect) return -ENOTSUP; + if (!btd_adapter_get_powered(device_get_adapter(service->device))) + return -ENETDOWN; + switch (service->state) { case BTD_SERVICE_STATE_UNAVAILABLE: return -EINVAL; -- 2.47.3