diff options
author | Jaehyun Kim <jeik01.kim@samsung.com> | 2021-10-15 20:59:35 +0900 |
---|---|---|
committer | Jaehyun Kim <jeik01.kim@samsung.com> | 2021-11-12 18:07:26 +0900 |
commit | ed5227c0fcf81c5ca07f0c884e86ff55d71c94a3 (patch) | |
tree | f61e3965341825417bac459eeae7b7cfe3666a97 | |
parent | e4180e274c1ed3bc45cb961f083ccf6db3889a1b (diff) | |
download | connman-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-x | src/device.c | 1 | ||||
-rw-r--r-- | src/technology.c | 10 |
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 |