mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-03 17:51:57 +09:00
team: fix master carrier set when user linkup is enabled
[ Upstream commit f5e0d34382 ]
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: Jan Tluka <jtluka@redhat.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
86a243440a
commit
a52a9149f5
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user