Commit a52a9149 authored by Jiri Pirko's avatar Jiri Pirko Committed by Greg Kroah-Hartman

team: fix master carrier set when user linkup is enabled

[ Upstream commit f5e0d343 ]

When user linkup is enabled and user sets linkup of individual port,
we need to recompute linkup (carrier) of master interface so the change
is reflected. Fix this by calling __team_carrier_check() which does the
needed work.

Please apply to all stable kernels as well. Thanks.
Reported-by: default avatarJan Tluka <jtluka@redhat.com>
Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 86a24344
......@@ -1217,6 +1217,8 @@ static int team_user_linkup_option_get(struct team *team,
return 0;
}
static void __team_carrier_check(struct team *team);
static int team_user_linkup_option_set(struct team *team,
struct team_gsetter_ctx *ctx)
{
......@@ -1224,6 +1226,7 @@ static int team_user_linkup_option_set(struct team *team,
port->user.linkup = ctx->data.bool_val;
team_refresh_port_linkup(port);
__team_carrier_check(port->team);
return 0;
}
......@@ -1243,6 +1246,7 @@ static int team_user_linkup_en_option_set(struct team *team,
port->user.linkup_enabled = ctx->data.bool_val;
team_refresh_port_linkup(port);
__team_carrier_check(port->team);
return 0;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment