From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:55748 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934000AbbI1O0H (ORCPT ); Mon, 28 Sep 2015 10:26:07 -0400 Date: Mon, 28 Sep 2015 07:04:24 -0700 From: Greg KH To: Luis Henriques Cc: jackm@dev.mellanox.co.il, davem@davemloft.net, matanb@mellanox.com, ogerlitz@mellanox.com, stable@vger.kernel.org, stable-commits@vger.kernel.org Subject: Re: Patch "net/mlx4_core: Fix wrong index in propagating port change event to VFs" has been added to the 3.14-stable tree Message-ID: <20150928140424.GC18915@kroah.com> References: <144329528761183@kroah.com> <20150928131350.GB2548@ares> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150928131350.GB2548@ares> Sender: stable-owner@vger.kernel.org List-ID: On Mon, Sep 28, 2015 at 02:13:50PM +0100, Luis Henriques wrote: > On Sat, Sep 26, 2015 at 12:21:27PM -0700, Greg Kroah-Hartman wrote: > > > > This is a note to let you know that I've just added the patch titled > > > > net/mlx4_core: Fix wrong index in propagating port change event to VFs > > > > to the 3.14-stable tree which can be found at: > > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary > > > > The filename of the patch is: > > net-mlx4_core-fix-wrong-index-in-propagating-port-change-event-to-vfs.patch > > and it can be found in the queue-3.14 subdirectory. > > > > If you, or anyone else, feels it should not be added to the stable tree, > > please let know about it. > > > > > > From foo@baz Sat Sep 26 11:19:08 PDT 2015 > > From: Jack Morgenstein > > Date: Wed, 22 Jul 2015 16:53:47 +0300 > > Subject: net/mlx4_core: Fix wrong index in propagating port change event to VFs > > > > From: Jack Morgenstein > > > > [ Upstream commit 1c1bf34951e8d17941bf708d1901c47e81b15d55 ] > > > > The port-change event processing in procedure mlx4_eq_int() uses "slave" > > as the vf_oper array index. Since the value of "slave" is the PF function > > index, the result is that the PF link state is used for deciding to > > propagate the event for all the VFs. The VF link state should be used, > > so the VF function index should be used here. > > > > Fixes: 948e306d7d64 ('net/mlx4: Add VF link state support') > > Signed-off-by: Jack Morgenstein > > Signed-off-by: Matan Barak > > Signed-off-by: Or Gerlitz > > Signed-off-by: David S. Miller > > Signed-off-by: Greg Kroah-Hartman > > --- > > drivers/net/ethernet/mellanox/mlx4/eq.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > --- a/drivers/net/ethernet/mellanox/mlx4/eq.c > > +++ b/drivers/net/ethernet/mellanox/mlx4/eq.c > > @@ -557,7 +557,7 @@ static int mlx4_eq_int(struct mlx4_dev * > > mlx4_dbg(dev, "%s: Sending MLX4_PORT_CHANGE_SUBTYPE_DOWN" > > " to slave: %d, port:%d\n", > > __func__, i, port); > > - s_info = &priv->mfunc.master.vf_oper[slave].vport[port].state; > > + s_info = &priv->mfunc.master.vf_oper[i].vport[port].state; > > if (IFLA_VF_LINK_STATE_AUTO == s_info->link_state) > > mlx4_slave_event(dev, i, eqe); > > } else { /* IB port */ > > @@ -583,7 +583,7 @@ static int mlx4_eq_int(struct mlx4_dev * > > for (i = 0; i < dev->num_slaves; i++) { > > if (i == mlx4_master_func_num(dev)) > > continue; > > - s_info = &priv->mfunc.master.vf_oper[slave].vport[port].state; > > + s_info = &priv->mfunc.master.vf_oper[slave].vport[i].state; > > As I said previously, this is incorrect; it should be: > > - s_info = &priv->mfunc.master.vf_oper[slave].vport[port].state; > + s_info = &priv->mfunc.master.vf_oper[i].vport[port].state; > > The 'slave' index should be changed by 'i', not 'port'. Thanks, that fix was still in my todo pile, now done. greg k-h