mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-24 21:50:17 +01:00
core: optimize hash table search in _ethtool_fec_set
Break the loop as soon as we've found the value.
Fixes: 19bed3121f ('ethtool: support Forward Error Correction(fec)')
This commit is contained in:
parent
cbdd0d9cca
commit
245f0e0b35
1 changed files with 5 additions and 7 deletions
|
|
@ -2788,13 +2788,11 @@ _ethtool_fec_set(NMDevice *self,
|
|||
|
||||
g_hash_table_iter_init(&iter, hash);
|
||||
while (g_hash_table_iter_next(&iter, (gpointer *) &name, (gpointer *) &variant)) {
|
||||
NMEthtoolID ethtool_id = nm_ethtool_id_get_by_name(name);
|
||||
|
||||
if (!nm_ethtool_id_is_fec(ethtool_id))
|
||||
continue;
|
||||
|
||||
nm_assert(g_variant_is_of_type(variant, G_VARIANT_TYPE_UINT32));
|
||||
fec_mode = g_variant_get_uint32(variant);
|
||||
if (nm_ethtool_id_is_fec(nm_ethtool_id_get_by_name(name))) {
|
||||
nm_assert(g_variant_is_of_type(variant, G_VARIANT_TYPE_UINT32));
|
||||
fec_mode = g_variant_get_uint32(variant);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* The NM_SETTING_ETHTOOL_FEC_MODE_NONE is query only value, hence do nothing. */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue