diff --git a/src/nm-manager.c b/src/nm-manager.c index d3d660cd70..f991b040ee 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -1706,7 +1706,7 @@ get_existing_connection (NMManager *manager, NMDevice *device) * When no configured connection matches the generated connection, we keep * the generated connection instead. */ - connections = g_slist_sort (connections, nm_settings_sort_connections); + connections = g_slist_reverse (g_slist_sort (connections, nm_settings_sort_connections)); matched = nm_utils_match_connection (connections, connection, nm_device_has_carrier (device), diff --git a/src/settings/nm-settings.c b/src/settings/nm-settings.c index 852fa6d145..b4d9c22ea3 100644 --- a/src/settings/nm-settings.c +++ b/src/settings/nm-settings.c @@ -1685,7 +1685,11 @@ nm_settings_device_removed (NMSettings *self, NMDevice *device, gboolean quittin /***************************************************************/ -/* GCompareFunc helper for sorting "best" connections */ +/* GCompareFunc helper for sorting "best" connections. + * The function sorts connections in ascending timestamp order. + * That means an older connection (lower timestamp) goes before + * a newer one. + */ gint nm_settings_sort_connections (gconstpointer a, gconstpointer b) {