Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: mellanox: fix open-coded for_each_set_bit()

Mellanox driver has an open-coded for_each_set_bit(). Fix it.

Signed-off-by: Yury Norov <yury.norov@gmail.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>

+6 -17
+6 -17
drivers/net/ethernet/mellanox/mlx4/cmd.c
··· 1994 1994 1995 1995 static int mlx4_master_activate_admin_state(struct mlx4_priv *priv, int slave) 1996 1996 { 1997 - int port, err; 1997 + int p, port, err; 1998 1998 struct mlx4_vport_state *vp_admin; 1999 1999 struct mlx4_vport_oper_state *vp_oper; 2000 2000 struct mlx4_slave_state *slave_state = 2001 2001 &priv->mfunc.master.slave_state[slave]; 2002 2002 struct mlx4_active_ports actv_ports = mlx4_get_active_ports( 2003 2003 &priv->dev, slave); 2004 - int min_port = find_first_bit(actv_ports.ports, 2005 - priv->dev.caps.num_ports) + 1; 2006 - int max_port = min_port - 1 + 2007 - bitmap_weight(actv_ports.ports, priv->dev.caps.num_ports); 2008 2004 2009 - for (port = min_port; port <= max_port; port++) { 2010 - if (!test_bit(port - 1, actv_ports.ports)) 2011 - continue; 2005 + for_each_set_bit(p, actv_ports.ports, priv->dev.caps.num_ports) { 2006 + port = p + 1; 2012 2007 priv->mfunc.master.vf_oper[slave].smi_enabled[port] = 2013 2008 priv->mfunc.master.vf_admin[slave].enable_smi[port]; 2014 2009 vp_oper = &priv->mfunc.master.vf_oper[slave].vport[port]; ··· 2058 2063 2059 2064 static void mlx4_master_deactivate_admin_state(struct mlx4_priv *priv, int slave) 2060 2065 { 2061 - int port; 2066 + int p, port; 2062 2067 struct mlx4_vport_oper_state *vp_oper; 2063 2068 struct mlx4_active_ports actv_ports = mlx4_get_active_ports( 2064 2069 &priv->dev, slave); 2065 - int min_port = find_first_bit(actv_ports.ports, 2066 - priv->dev.caps.num_ports) + 1; 2067 - int max_port = min_port - 1 + 2068 - bitmap_weight(actv_ports.ports, priv->dev.caps.num_ports); 2069 2070 2070 - 2071 - for (port = min_port; port <= max_port; port++) { 2072 - if (!test_bit(port - 1, actv_ports.ports)) 2073 - continue; 2071 + for_each_set_bit(p, actv_ports.ports, priv->dev.caps.num_ports) { 2072 + port = p + 1; 2074 2073 priv->mfunc.master.vf_oper[slave].smi_enabled[port] = 2075 2074 MLX4_VF_SMI_DISABLED; 2076 2075 vp_oper = &priv->mfunc.master.vf_oper[slave].vport[port];