summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/network.c21
-rwxr-xr-xsrc/service.c4
2 files changed, 25 insertions, 0 deletions
diff --git a/src/network.c b/src/network.c
index 546479c2..08b1319a 100755
--- a/src/network.c
+++ b/src/network.c
@@ -101,6 +101,7 @@ struct connman_network {
char *keymgmt_type;
bool rsn_mode;
int disconnect_reason;
+ int assoc_status_code;
void *wifi_vsie;
unsigned int wifi_vsie_len;
#endif
@@ -2092,6 +2093,26 @@ int connman_network_get_disconnect_reason(struct connman_network *network)
return network->wifi.disconnect_reason;
}
+
+int connman_network_set_assoc_status_code(struct connman_network *network,
+ int assoc_status_code)
+{
+
+ if (network == NULL)
+ return 0;
+
+ network->wifi.assoc_status_code = assoc_status_code;
+ return 0;
+}
+
+int connman_network_get_assoc_status_code(struct connman_network *network)
+{
+ if (network == NULL)
+ return 0;
+
+ return network->wifi.assoc_status_code;
+}
+
#endif
int connman_network_set_nameservers(struct connman_network *network,
diff --git a/src/service.c b/src/service.c
index 0c9c8977..468a327b 100755
--- a/src/service.c
+++ b/src/service.c
@@ -160,6 +160,7 @@ struct connman_service {
*/
char *keymgmt_type;
int disconnect_reason;
+ int assoc_status_code;
#endif
#ifdef TIZEN_EXT
enum connman_dnsconfig_method dns_config_method_ipv4;
@@ -7172,6 +7173,9 @@ static int service_indicate_state(struct connman_service *service)
case CONNMAN_SERVICE_STATE_FAILURE:
#if defined TIZEN_EXT
+
+ service->assoc_status_code = connman_network_get_assoc_status_code(service->network);
+
if (service->type == CONNMAN_SERVICE_TYPE_WIFI)
service->order = 5;
__connman_service_auto_connect(CONNMAN_SERVICE_CONNECT_REASON_AUTO);