* [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 ¬ifier_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).