summaryrefslogtreecommitdiff
path: root/src/technology.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/technology.c')
-rw-r--r--src/technology.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/technology.c b/src/technology.c
index f8891b8d..82146175 100644
--- a/src/technology.c
+++ b/src/technology.c
@@ -154,6 +154,8 @@ static void tethering_changed(struct connman_technology *technology)
void connman_technology_tethering_notify(struct connman_technology *technology,
connman_bool_t enabled)
{
+ GSList *list;
+
DBG("technology %p enabled %u", technology, enabled);
if (technology->tethering == enabled)
@@ -165,8 +167,15 @@ void connman_technology_tethering_notify(struct connman_technology *technology,
if (enabled == TRUE)
__connman_tethering_set_enabled();
- else
- __connman_tethering_set_disabled();
+ else {
+ for (list = technology_list; list; list = list->next) {
+ struct connman_technology *other_tech = list->data;
+ if (other_tech->tethering == TRUE)
+ break;
+ }
+ if (list == NULL)
+ __connman_tethering_set_disabled();
+ }
}
static int set_tethering(struct connman_technology *technology,