Re: [PATCH] gsupplicant: Check peer_mapping before removing items
On Sun, 2014-08-17 at 23:23 -0400, Eduardo Abinader wrote: > Added a check in order to avoid glib assert warnings > during remove_interface call, when peer_mapping was > already empty. Patch applied, thanks! Patrik ___ connman mailing list connman@connman.net https://lists.connman.net/mailman/listinfo/connman
Re: [PATCH 0/2] Solve issues in pending wifi data
Thanks Eduardo, ACK on this patch-set Tomasz ___ connman mailing list connman@connman.net https://lists.connman.net/mailman/listinfo/connman
[PATCH 2/2] wifi: Update pending wifi device list
Update p2p pending wifi device, if wifi is removed as well. Such scenario occurs in a long delayed p2p group negotiation. --- plugins/wifi.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/plugins/wifi.c b/plugins/wifi.c index bdb4c24..4424d95 100644 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -196,6 +196,18 @@ static struct wifi_data *get_pending_wifi_data(const char *ifname) return NULL; } +static void remove_pending_wifi_device(struct wifi_data *wifi) +{ + GList *link; + + link = g_list_find(pending_wifi_device, wifi); + + if (!link) + return; + + pending_wifi_device = g_list_delete_link(pending_wifi_device, link); +} + static void peer_cancel_timeout(struct wifi_data *wifi) { if (wifi->p2p_connection_timeout > 0) @@ -507,6 +519,8 @@ static void wifi_remove(struct connman_device *device) check_p2p_technology(); + remove_pending_wifi_device(wifi); + if (wifi->p2p_find_timeout) { g_source_remove(wifi->p2p_find_timeout); connman_device_unref(wifi->device); -- 1.9.1 ___ connman mailing list connman@connman.net https://lists.connman.net/mailman/listinfo/connman
[PATCH 0/2] Solve issues in pending wifi data
The following patchset addresses other midst situation, when a p2p group is being negotiated and, for some reason, p2p interface is removed. Added an extra check and provided a proper cleanup of pending wifi device list, upon wifi remove. Eduardo Abinader (2): wifi: Add an extra check for pending wifi data wifi: Update pending wifi device list plugins/wifi.c | 16 +++- 1 file changed, 15 insertions(+), 1 deletion(-) -- 1.9.1 ___ connman mailing list connman@connman.net https://lists.connman.net/mailman/listinfo/connman
[PATCH 1/2] wifi: Add an extra check for pending wifi data
Got another segmentation fault on chicken and egg issue. Now, it is necessary to check device pointer. --- plugins/wifi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/wifi.c b/plugins/wifi.c index f5af702..bdb4c24 100644 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -182,7 +182,7 @@ static struct wifi_data *get_pending_wifi_data(const char *ifname) const char *dev_name; wifi = list->data; - if (!wifi) + if (!wifi || !wifi->device) continue; dev_name = connman_device_get_string(wifi->device, "Interface"); -- 1.9.1 ___ connman mailing list connman@connman.net https://lists.connman.net/mailman/listinfo/connman