Re: [PATCH] wifi: disconnect if wpa_s state changes from completed to scanning
Did not check thoroughly, I though setting network connected to false would do. Ok then. Hi Tomasz, Will still need to modify the patch a bit because start_autoscan() checks for wifi->connected and will not start if it's true. Therefore moving start_autoscan() after the wifi->connected has been set to false in the end of the interface_state()-function. Br, Pasi On 06.05.2015 11:51, Tomasz Bursztyka wrote: Hi Pasi, Nice catch! ACK from me. Tomasz From: Pasi Sjöholm It's possible from wpa_s to change the state from completed to scanning without going through disconnected state if interface signals that the carrier went off and on (IFF_LOWER_UP flag). This will cause dead lock similar in c810464828d6764bea304de3e9b6b151aa05e313 if the wifi gets into associating state as the network->connected is still true but wifi->connected is not. --- plugins/wifi.c | 5 + 1 file changed, 5 insertions(+) diff --git a/plugins/wifi.c b/plugins/wifi.c index d0d7917..47df08e 100755 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -2341,6 +2341,11 @@ static void interface_state(GSupplicantInterface *interface) switch (state) { case G_SUPPLICANT_STATE_SCANNING: +if (wifi->connected) { +connman_network_set_connected(network, false); + start_autoscan(device); +} + break; case G_SUPPLICANT_STATE_AUTHENTICATING: ___ connman mailing list connman@connman.net https://lists.connman.net/mailman/listinfo/connman ___ connman mailing list connman@connman.net https://lists.connman.net/mailman/listinfo/connman ___ connman mailing list connman@connman.net https://lists.connman.net/mailman/listinfo/connman
Re: [PATCH] wifi: disconnect if wpa_s state changes from completed to scanning
Hi Tomasz, Will still need to modify the patch a bit because start_autoscan() checks for wifi->connected and will not start if it's true. Therefore moving start_autoscan() after the wifi->connected has been set to false in the end of the interface_state()-function. Br, Pasi On 06.05.2015 11:51, Tomasz Bursztyka wrote: > Hi Pasi, > > Nice catch! > > ACK from me. > > Tomasz > >> From: Pasi Sjöholm >> >> It's possible from wpa_s to change the state from completed to >> scanning without going through disconnected state if interface >> signals that the carrier went off and on (IFF_LOWER_UP flag). >> >> This will cause dead lock similar in >> c810464828d6764bea304de3e9b6b151aa05e313 if the wifi gets into >> associating state as the network->connected is still true but >> wifi->connected is not. --- plugins/wifi.c | 5 + 1 file >> changed, 5 insertions(+) >> >> diff --git a/plugins/wifi.c b/plugins/wifi.c index >> d0d7917..47df08e 100755 --- a/plugins/wifi.c +++ >> b/plugins/wifi.c @@ -2341,6 +2341,11 @@ static void >> interface_state(GSupplicantInterface *interface) switch (state) >> { case G_SUPPLICANT_STATE_SCANNING: +if (wifi->connected) >> { +connman_network_set_connected(network, false); + >> start_autoscan(device); +} + break; case >> G_SUPPLICANT_STATE_AUTHENTICATING: > > ___ connman mailing > list connman@connman.net > https://lists.connman.net/mailman/listinfo/connman ___ connman mailing list connman@connman.net https://lists.connman.net/mailman/listinfo/connman
Re: [PATCH] wifi: disconnect if wpa_s state changes from completed to scanning
Hi Pasi, Nice catch! ACK from me. Tomasz From: Pasi Sjöholm It's possible from wpa_s to change the state from completed to scanning without going through disconnected state if interface signals that the carrier went off and on (IFF_LOWER_UP flag). This will cause dead lock similar in c810464828d6764bea304de3e9b6b151aa05e313 if the wifi gets into associating state as the network->connected is still true but wifi->connected is not. --- plugins/wifi.c | 5 + 1 file changed, 5 insertions(+) diff --git a/plugins/wifi.c b/plugins/wifi.c index d0d7917..47df08e 100755 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -2341,6 +2341,11 @@ static void interface_state(GSupplicantInterface *interface) switch (state) { case G_SUPPLICANT_STATE_SCANNING: + if (wifi->connected) { + connman_network_set_connected(network, false); + start_autoscan(device); + } + break; case G_SUPPLICANT_STATE_AUTHENTICATING: ___ connman mailing list connman@connman.net https://lists.connman.net/mailman/listinfo/connman
[PATCH] wifi: disconnect if wpa_s state changes from completed to scanning
From: Pasi Sjöholm It's possible from wpa_s to change the state from completed to scanning without going through disconnected state if interface signals that the carrier went off and on (IFF_LOWER_UP flag). This will cause dead lock similar in c810464828d6764bea304de3e9b6b151aa05e313 if the wifi gets into associating state as the network->connected is still true but wifi->connected is not. --- plugins/wifi.c | 5 + 1 file changed, 5 insertions(+) diff --git a/plugins/wifi.c b/plugins/wifi.c index d0d7917..47df08e 100755 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -2341,6 +2341,11 @@ static void interface_state(GSupplicantInterface *interface) switch (state) { case G_SUPPLICANT_STATE_SCANNING: + if (wifi->connected) { + connman_network_set_connected(network, false); + start_autoscan(device); + } + break; case G_SUPPLICANT_STATE_AUTHENTICATING: -- 2.1.4 ___ connman mailing list connman@connman.net https://lists.connman.net/mailman/listinfo/connman