Message ID | 1386792580-7288-1-git-send-email-kamal@canonical.com |
---|---|
State | New |
Headers | show |
On Wed, 2013-12-11 at 12:09 -0800, Kamal Mostafa wrote: > This is a note to let you know that I have just added a patch titled > > team: fix master carrier set when user linkup is enabled > > to the linux-3.8.y-queue branch of the 3.8.y.z extended stable tree > which can be found at: > > http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.8.y-queue > > This patch is scheduled to be released in version 3.8.13.15. Oops... On closer inspection, this patch isn't suitable for 3.8-stable, so I'm dropping it from the 3.8 queue. Sorry for the noise! -Kamal > If you, or anyone else, feels it should not be added to this tree, please > reply to this email. > > For more information about the 3.8.y.z tree, see > https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable > > Thanks. > -Kamal > > ------ > > From f9945f300f37222cf5483737d0f12fae1ab7e59c Mon Sep 17 00:00:00 2001 > From: Jiri Pirko <jiri@resnulli.us> > Date: Thu, 28 Nov 2013 18:01:38 +0100 > Subject: team: fix master carrier set when user linkup is enabled > > [ Upstream commit f5e0d34382e18f396d7673a84df8e3342bea7eb6 ] > > 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: Kamal Mostafa <kamal@canonical.com> > --- > drivers/net/team/team.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c > index 3c181ca..9667ddc 100644 > --- a/drivers/net/team/team.c > +++ b/drivers/net/team/team.c > @@ -1199,6 +1199,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) > { > @@ -1206,6 +1208,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; > } > > @@ -1225,6 +1228,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; > } > > -- > 1.8.3.2 >
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c index 3c181ca..9667ddc 100644 --- a/drivers/net/team/team.c +++ b/drivers/net/team/team.c @@ -1199,6 +1199,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) { @@ -1206,6 +1208,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; } @@ -1225,6 +1228,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; }