summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaehyun Kim <jeik01.kim@samsung.com>2021-10-15 20:59:35 +0900
committerJaehyun Kim <jeik01.kim@samsung.com>2021-11-12 18:07:26 +0900
commited5227c0fcf81c5ca07f0c884e86ff55d71c94a3 (patch)
treef61e3965341825417bac459eeae7b7cfe3666a97
parente4180e274c1ed3bc45cb961f083ccf6db3889a1b (diff)
downloadconnman-ed5227c0fcf81c5ca07f0c884e86ff55d71c94a3.tar.gz
connman-ed5227c0fcf81c5ca07f0c884e86ff55d71c94a3.tar.bz2
connman-ed5227c0fcf81c5ca07f0c884e86ff55d71c94a3.zip
Fix incorrect handling in multi-interface environment
1. Modified to save enabled device information in settings after device_list is updated. 2. Modified to save enabled device information in settings only for wifi technology. Change-Id: I1b05319adcd3fa7796e764912c9369a5ac28ab7e Signed-off-by: Jaehyun Kim <jeik01.kim@samsung.com>
-rwxr-xr-xsrc/device.c1
-rw-r--r--src/technology.c10
2 files changed, 9 insertions, 2 deletions
diff --git a/src/device.c b/src/device.c
index 377ef47e..53502821 100755
--- a/src/device.c
+++ b/src/device.c
@@ -740,7 +740,6 @@ int connman_device_set_powered(struct connman_device *device,
#if defined TIZEN_EXT
device_send_changed(device->interface, type, "Powered", powered);
- technology_save_device(device);
#endif
if (!device->powered) {
diff --git a/src/technology.c b/src/technology.c
index 42550512..6a539dc0 100644
--- a/src/technology.c
+++ b/src/technology.c
@@ -2215,6 +2215,10 @@ void technology_save_device(struct connman_device *device)
enum connman_service_type type;
type = __connman_device_get_service_type(device);
+
+ if (type != CONNMAN_SERVICE_TYPE_WIFI)
+ return;
+
technology = technology_get(type);
if (!technology)
return;
@@ -3220,7 +3224,7 @@ int __connman_technology_add_device(struct connman_device *device)
#if defined TIZEN_EXT
bool found = true;
int err = 0;
- if (technology->enabled_devices) {
+ if (technology->enabled_devices && type == CONNMAN_SERVICE_TYPE_WIFI) {
int i = 0;
found = false;
const char *ifname = connman_device_get_string(device, "Interface");
@@ -3257,6 +3261,8 @@ done:
device);
#if defined TIZEN_EXT
+ technology_save_device(device);
+
const char *ifname = connman_device_get_string(device, "Interface");
__connman_technology_notify_device_detected(technology, ifname, true);
@@ -3287,6 +3293,8 @@ int __connman_technology_remove_device(struct connman_device *device)
device);
#if defined TIZEN_EXT
+ technology_save_device(device);
+
const char *ifname = connman_device_get_string(device, "Interface");
__connman_technology_notify_device_detected(technology, ifname, false);
#endif