summaryrefslogtreecommitdiff
path: root/libnm-core/nm-setting-team-port.c
diff options
context:
space:
mode:
Diffstat (limited to 'libnm-core/nm-setting-team-port.c')
-rw-r--r--libnm-core/nm-setting-team-port.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/libnm-core/nm-setting-team-port.c b/libnm-core/nm-setting-team-port.c
index 8d570c9e1c..123304fee6 100644
--- a/libnm-core/nm-setting-team-port.c
+++ b/libnm-core/nm-setting-team-port.c
@@ -87,16 +87,6 @@ verify (NMSetting *setting, NMConnection *connection, GError **error)
{
NMSettingTeamPortPrivate *priv = NM_SETTING_TEAM_PORT_GET_PRIVATE (setting);
- if (priv->config) {
- if (!_nm_utils_check_valid_json (priv->config, error)) {
- g_prefix_error (error,
- "%s.%s: ",
- NM_SETTING_TEAM_PORT_SETTING_NAME,
- NM_SETTING_TEAM_PORT_CONFIG);
- return FALSE;
- }
- }
-
if (connection) {
NMSettingConnection *s_con;
const char *slave_type;
@@ -125,6 +115,18 @@ verify (NMSetting *setting, NMConnection *connection, GError **error)
return FALSE;
}
}
+
+ if (priv->config) {
+ if (!_nm_utils_check_valid_json (priv->config, error)) {
+ g_prefix_error (error,
+ "%s.%s: ",
+ NM_SETTING_TEAM_PORT_SETTING_NAME,
+ NM_SETTING_TEAM_PORT_CONFIG);
+ /* We treat an empty string as no config for compatibility. */
+ return *priv->config ? FALSE : NM_SETTING_VERIFY_NORMALIZABLE;
+ }
+ }
+
return TRUE;
}