blob: dadafde1f5517072ffe8c20a6474d84109b6403e [file] [log] [blame]
diff --git a/recipes-connectivity/connman/connman/0034-connman-change-default-rule.patch b/recipes-connectivity/connman/connman/0034-connman-change-default-rule.patch
new file mode 100644
index 0000000..d08b4cc
--- /dev/null
+++ b/recipes-connectivity/connman/connman/0034-connman-change-default-rule.patch
@@ -0,0 +1,33 @@
+diff --git a/src/service.c b/src/service.c
+index 8a743af..30bd1c1 100644
+--- a/src/service.c
++++ b/src/service.c
+@@ -1476,12 +1476,28 @@ static void reset_stats(struct connman_service *service)
+ struct connman_service *__connman_service_get_default(void)
+ {
+ struct connman_service *service;
++ struct connman_service *ccmni_service;
++ GList *ccmni_ptr = NULL;
+
+ if (!service_list)
+ return NULL;
++ //DBG("tony patch");
+
+ service = service_list->data;
+
++ ccmni_ptr = service_list;
++
++ while(ccmni_ptr != NULL)
++ {
++ ccmni_service = ccmni_ptr->data;
++ if(ccmni_service->type == CONNMAN_SERVICE_TYPE_CELLULAR &&
++ is_connected(ccmni_service->state)) {
++ service = ccmni_service;
++ break;
++ }
++ ccmni_ptr = ccmni_ptr->next;
++ }
++
+ if (!is_connected(service->state))
+ return NULL;
+
diff --git a/recipes-connectivity/connman/connman_%.bbappend b/recipes-connectivity/connman/connman_%.bbappend
index 8ee6591..61c5b78 100644
--- a/recipes-connectivity/connman/connman_%.bbappend
+++ b/recipes-connectivity/connman/connman_%.bbappend
@@ -32,6 +32,7 @@ SRC_URI += "\
file://0031-connman-change-message-type.patch \
file://0032-connman-fix-ipv6-tethering.patch \
file://0033-connman-fix-ipv6-tethering_V2.patch \
+ file://0034-connman-change-default-rule.patch \
"
EXTRA_OECONF += "\