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 <stable@xxxxxxxxxxxxxxx> know about it. > > > > > > From foo@baz Sat Sep 26 11:19:08 PDT 2015 > > From: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> > > 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 <jackm@xxxxxxxxxxxxxxxxxx> > > > > [ 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 <jackm@xxxxxxxxxxxxxxxxxx> > > Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> > > Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> > > Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> > > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > --- > > 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 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html