summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2011-01-13 15:36:23 +0100
committerSamuel Ortiz <sameo@linux.intel.com>2011-01-13 15:37:30 +0100
commit6ca9ab354c277fa3fb861e7237b751bf2b788cf1 (patch)
tree40531efcb73494c9bc8a15615c33bbb0eef0ca46
parent21b29ae70b3ca3c0729bd04880010dcb7e17e4fd (diff)
downloadconnman-6ca9ab354c277fa3fb861e7237b751bf2b788cf1.tar.gz
connman-6ca9ab354c277fa3fb861e7237b751bf2b788cf1.tar.bz2
connman-6ca9ab354c277fa3fb861e7237b751bf2b788cf1.zip
service: Do not reconnect to an already connected service
Fixes BMC#11879
-rw-r--r--src/service.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c
index 74493dcc..40fd87de 100644
--- a/src/service.c
+++ b/src/service.c
@@ -3658,6 +3658,16 @@ done:
goto failed;
}
+ if (is_connected(service) == TRUE) {
+ err = -EISCONN;
+ goto failed;
+ }
+
+ if (is_connecting(service) == TRUE) {
+ err = -EALREADY;
+ goto failed;
+ }
+
set_reconnect_state(service, FALSE);
__connman_device_disconnect(device);