diff options
Diffstat (limited to 'src/provider.c')
-rw-r--r-- | src/provider.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/provider.c b/src/provider.c index d6d1b7ed..9f7050fe 100644 --- a/src/provider.c +++ b/src/provider.c @@ -359,6 +359,8 @@ int connman_provider_indicate_error(struct connman_provider *provider, enum connman_provider_error error) { enum connman_service_error service_error; + const char *path; + int ret; switch (error) { case CONNMAN_PROVIDER_ERROR_LOGIN_FAILED: @@ -375,8 +377,12 @@ int connman_provider_indicate_error(struct connman_provider *provider, break; } - return __connman_service_indicate_error(provider->vpn_service, + ret = __connman_service_indicate_error(provider->vpn_service, service_error); + path = __connman_service_get_path(provider->vpn_service); + __connman_provider_remove(path); + + return ret; } static void unregister_provider(gpointer data) |