oe-kbuild-all.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [leon-rdma:rdma-next 23/31] drivers/net/ethernet/mellanox/mlx4/en_netdev.c:2906:23: warning: variable 'priv' set but not used
@ 2023-03-16  3:14 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-03-16  3:14 UTC (permalink / raw)
  To: Petr Pavlu; +Cc: llvm, oe-kbuild-all, Leon Romanovsky

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git rdma-next
head:   712b4584a71d7f86b5f870dae8ee6e5abd42971f
commit: b2c583ca5c5d33ebeba8a5dda6bb402618547d88 [23/31] mlx4: Move the bond work to the core driver
config: i386-randconfig-a013-20230313 (https://download.01.org/0day-ci/archive/20230316/202303161112.IQtqAUeL-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git/commit/?id=b2c583ca5c5d33ebeba8a5dda6bb402618547d88
        git remote add leon-rdma https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git
        git fetch --no-tags leon-rdma rdma-next
        git checkout b2c583ca5c5d33ebeba8a5dda6bb402618547d88
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/net/ethernet/mellanox/mlx4/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303161112.IQtqAUeL-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/net/ethernet/mellanox/mlx4/en_netdev.c:2906:23: warning: variable 'priv' set but not used [-Wunused-but-set-variable]
           struct mlx4_en_priv *priv;
                                ^
   1 warning generated.


vim +/priv +2906 drivers/net/ethernet/mellanox/mlx4/en_netdev.c

ab46182d0dcb3a Stanislav Fomichev 2023-01-19  2896  
5da0354726e4a6 Moni Shoua         2015-02-03  2897  int mlx4_en_netdev_event(struct notifier_block *this,
5da0354726e4a6 Moni Shoua         2015-02-03  2898  			 unsigned long event, void *ptr)
5da0354726e4a6 Moni Shoua         2015-02-03  2899  {
5da0354726e4a6 Moni Shoua         2015-02-03  2900  	struct net_device *ndev = netdev_notifier_info_to_dev(ptr);
5da0354726e4a6 Moni Shoua         2015-02-03  2901  	u8 port = 0;
5da0354726e4a6 Moni Shoua         2015-02-03  2902  	struct mlx4_en_dev *mdev;
5da0354726e4a6 Moni Shoua         2015-02-03  2903  	struct mlx4_dev *dev;
5da0354726e4a6 Moni Shoua         2015-02-03  2904  	int i, num_eth_ports = 0;
5da0354726e4a6 Moni Shoua         2015-02-03  2905  	bool do_bond = true;
5da0354726e4a6 Moni Shoua         2015-02-03 @2906  	struct mlx4_en_priv *priv;
5da0354726e4a6 Moni Shoua         2015-02-03  2907  	u8 v2p_port1 = 0;
5da0354726e4a6 Moni Shoua         2015-02-03  2908  	u8 v2p_port2 = 0;
5da0354726e4a6 Moni Shoua         2015-02-03  2909  
5da0354726e4a6 Moni Shoua         2015-02-03  2910  	if (!net_eq(dev_net(ndev), &init_net))
5da0354726e4a6 Moni Shoua         2015-02-03  2911  		return NOTIFY_DONE;
5da0354726e4a6 Moni Shoua         2015-02-03  2912  
cc625983f9a9c6 Petr Pavlu         2023-02-24  2913  	mdev = container_of(this, struct mlx4_en_dev, netdev_nb);
5da0354726e4a6 Moni Shoua         2015-02-03  2914  	dev = mdev->dev;
5da0354726e4a6 Moni Shoua         2015-02-03  2915  
5da0354726e4a6 Moni Shoua         2015-02-03  2916  	/* Go into this mode only when two network devices set on two ports
5da0354726e4a6 Moni Shoua         2015-02-03  2917  	 * of the same mlx4 device are slaves of the same bonding master
5da0354726e4a6 Moni Shoua         2015-02-03  2918  	 */
5da0354726e4a6 Moni Shoua         2015-02-03  2919  	mlx4_foreach_port(i, dev, MLX4_PORT_TYPE_ETH) {
5da0354726e4a6 Moni Shoua         2015-02-03  2920  		++num_eth_ports;
5da0354726e4a6 Moni Shoua         2015-02-03  2921  		if (!port && (mdev->pndev[i] == ndev))
5da0354726e4a6 Moni Shoua         2015-02-03  2922  			port = i;
5da0354726e4a6 Moni Shoua         2015-02-03  2923  		mdev->upper[i] = mdev->pndev[i] ?
5da0354726e4a6 Moni Shoua         2015-02-03  2924  			netdev_master_upper_dev_get(mdev->pndev[i]) : NULL;
5da0354726e4a6 Moni Shoua         2015-02-03  2925  		/* condition not met: network device is a slave */
5da0354726e4a6 Moni Shoua         2015-02-03  2926  		if (!mdev->upper[i])
5da0354726e4a6 Moni Shoua         2015-02-03  2927  			do_bond = false;
5da0354726e4a6 Moni Shoua         2015-02-03  2928  		if (num_eth_ports < 2)
5da0354726e4a6 Moni Shoua         2015-02-03  2929  			continue;
5da0354726e4a6 Moni Shoua         2015-02-03  2930  		/* condition not met: same master */
5da0354726e4a6 Moni Shoua         2015-02-03  2931  		if (mdev->upper[i] != mdev->upper[i-1])
5da0354726e4a6 Moni Shoua         2015-02-03  2932  			do_bond = false;
5da0354726e4a6 Moni Shoua         2015-02-03  2933  	}
5da0354726e4a6 Moni Shoua         2015-02-03  2934  	/* condition not met: 2 salves */
5da0354726e4a6 Moni Shoua         2015-02-03  2935  	do_bond = (num_eth_ports ==  2) ? do_bond : false;
5da0354726e4a6 Moni Shoua         2015-02-03  2936  
5da0354726e4a6 Moni Shoua         2015-02-03  2937  	/* handle only events that come with enough info */
5da0354726e4a6 Moni Shoua         2015-02-03  2938  	if ((do_bond && (event != NETDEV_BONDING_INFO)) || !port)
5da0354726e4a6 Moni Shoua         2015-02-03  2939  		return NOTIFY_DONE;
5da0354726e4a6 Moni Shoua         2015-02-03  2940  
5da0354726e4a6 Moni Shoua         2015-02-03  2941  	priv = netdev_priv(ndev);
5da0354726e4a6 Moni Shoua         2015-02-03  2942  	if (do_bond) {
5da0354726e4a6 Moni Shoua         2015-02-03  2943  		struct netdev_notifier_bonding_info *notifier_info = ptr;
5da0354726e4a6 Moni Shoua         2015-02-03  2944  		struct netdev_bonding_info *bonding_info =
5da0354726e4a6 Moni Shoua         2015-02-03  2945  			&notifier_info->bonding_info;
5da0354726e4a6 Moni Shoua         2015-02-03  2946  
5da0354726e4a6 Moni Shoua         2015-02-03  2947  		/* required mode 1, 2 or 4 */
5da0354726e4a6 Moni Shoua         2015-02-03  2948  		if ((bonding_info->master.bond_mode != BOND_MODE_ACTIVEBACKUP) &&
5da0354726e4a6 Moni Shoua         2015-02-03  2949  		    (bonding_info->master.bond_mode != BOND_MODE_XOR) &&
5da0354726e4a6 Moni Shoua         2015-02-03  2950  		    (bonding_info->master.bond_mode != BOND_MODE_8023AD))
5da0354726e4a6 Moni Shoua         2015-02-03  2951  			do_bond = false;
5da0354726e4a6 Moni Shoua         2015-02-03  2952  
5da0354726e4a6 Moni Shoua         2015-02-03  2953  		/* require exactly 2 slaves */
5da0354726e4a6 Moni Shoua         2015-02-03  2954  		if (bonding_info->master.num_slaves != 2)
5da0354726e4a6 Moni Shoua         2015-02-03  2955  			do_bond = false;
5da0354726e4a6 Moni Shoua         2015-02-03  2956  
5da0354726e4a6 Moni Shoua         2015-02-03  2957  		/* calc v2p */
5da0354726e4a6 Moni Shoua         2015-02-03  2958  		if (do_bond) {
5da0354726e4a6 Moni Shoua         2015-02-03  2959  			if (bonding_info->master.bond_mode ==
5da0354726e4a6 Moni Shoua         2015-02-03  2960  			    BOND_MODE_ACTIVEBACKUP) {
5da0354726e4a6 Moni Shoua         2015-02-03  2961  				/* in active-backup mode virtual ports are
5da0354726e4a6 Moni Shoua         2015-02-03  2962  				 * mapped to the physical port of the active
5da0354726e4a6 Moni Shoua         2015-02-03  2963  				 * slave */
5da0354726e4a6 Moni Shoua         2015-02-03  2964  				if (bonding_info->slave.state ==
5da0354726e4a6 Moni Shoua         2015-02-03  2965  				    BOND_STATE_BACKUP) {
5da0354726e4a6 Moni Shoua         2015-02-03  2966  					if (port == 1) {
5da0354726e4a6 Moni Shoua         2015-02-03  2967  						v2p_port1 = 2;
5da0354726e4a6 Moni Shoua         2015-02-03  2968  						v2p_port2 = 2;
5da0354726e4a6 Moni Shoua         2015-02-03  2969  					} else {
5da0354726e4a6 Moni Shoua         2015-02-03  2970  						v2p_port1 = 1;
5da0354726e4a6 Moni Shoua         2015-02-03  2971  						v2p_port2 = 1;
5da0354726e4a6 Moni Shoua         2015-02-03  2972  					}
5da0354726e4a6 Moni Shoua         2015-02-03  2973  				} else { /* BOND_STATE_ACTIVE */
5da0354726e4a6 Moni Shoua         2015-02-03  2974  					if (port == 1) {
5da0354726e4a6 Moni Shoua         2015-02-03  2975  						v2p_port1 = 1;
5da0354726e4a6 Moni Shoua         2015-02-03  2976  						v2p_port2 = 1;
5da0354726e4a6 Moni Shoua         2015-02-03  2977  					} else {
5da0354726e4a6 Moni Shoua         2015-02-03  2978  						v2p_port1 = 2;
5da0354726e4a6 Moni Shoua         2015-02-03  2979  						v2p_port2 = 2;
5da0354726e4a6 Moni Shoua         2015-02-03  2980  					}
5da0354726e4a6 Moni Shoua         2015-02-03  2981  				}
5da0354726e4a6 Moni Shoua         2015-02-03  2982  			} else { /* Active-Active */
5da0354726e4a6 Moni Shoua         2015-02-03  2983  				/* in active-active mode a virtual port is
5da0354726e4a6 Moni Shoua         2015-02-03  2984  				 * mapped to the native physical port if and only
5da0354726e4a6 Moni Shoua         2015-02-03  2985  				 * if the physical port is up */
5da0354726e4a6 Moni Shoua         2015-02-03  2986  				__s8 link = bonding_info->slave.link;
5da0354726e4a6 Moni Shoua         2015-02-03  2987  
5da0354726e4a6 Moni Shoua         2015-02-03  2988  				if (port == 1)
5da0354726e4a6 Moni Shoua         2015-02-03  2989  					v2p_port2 = 2;
5da0354726e4a6 Moni Shoua         2015-02-03  2990  				else
5da0354726e4a6 Moni Shoua         2015-02-03  2991  					v2p_port1 = 1;
5da0354726e4a6 Moni Shoua         2015-02-03  2992  				if ((link == BOND_LINK_UP) ||
5da0354726e4a6 Moni Shoua         2015-02-03  2993  				    (link == BOND_LINK_FAIL)) {
5da0354726e4a6 Moni Shoua         2015-02-03  2994  					if (port == 1)
5da0354726e4a6 Moni Shoua         2015-02-03  2995  						v2p_port1 = 1;
5da0354726e4a6 Moni Shoua         2015-02-03  2996  					else
5da0354726e4a6 Moni Shoua         2015-02-03  2997  						v2p_port2 = 2;
5da0354726e4a6 Moni Shoua         2015-02-03  2998  				} else { /* BOND_LINK_DOWN || BOND_LINK_BACK */
5da0354726e4a6 Moni Shoua         2015-02-03  2999  					if (port == 1)
5da0354726e4a6 Moni Shoua         2015-02-03  3000  						v2p_port1 = 2;
5da0354726e4a6 Moni Shoua         2015-02-03  3001  					else
5da0354726e4a6 Moni Shoua         2015-02-03  3002  						v2p_port2 = 1;
5da0354726e4a6 Moni Shoua         2015-02-03  3003  				}
5da0354726e4a6 Moni Shoua         2015-02-03  3004  			}
5da0354726e4a6 Moni Shoua         2015-02-03  3005  		}
5da0354726e4a6 Moni Shoua         2015-02-03  3006  	}
5da0354726e4a6 Moni Shoua         2015-02-03  3007  
b2c583ca5c5d33 Petr Pavlu         2023-02-24  3008  	mlx4_queue_bond_work(dev, do_bond, v2p_port1, v2p_port2);
5da0354726e4a6 Moni Shoua         2015-02-03  3009  
5da0354726e4a6 Moni Shoua         2015-02-03  3010  	return NOTIFY_DONE;
5da0354726e4a6 Moni Shoua         2015-02-03  3011  }
5da0354726e4a6 Moni Shoua         2015-02-03  3012  

:::::: The code at line 2906 was first introduced by commit
:::::: 5da0354726e4a6ae2e25c1fa2feb77585d997b05 net/mlx4_en: Port aggregation configuration

:::::: TO: Moni Shoua <monis@mellanox.com>
:::::: CC: David S. Miller <davem@davemloft.net>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-03-16  3:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-16  3:14 [leon-rdma:rdma-next 23/31] drivers/net/ethernet/mellanox/mlx4/en_netdev.c:2906:23: warning: variable 'priv' set but not used kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).