* [jpirko-mlxsw:petrm_8021qaz 18/18] drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1567:34: error: 'struct mlxsw_sp_port' has no member named 'span'
@ 2020-08-19 21:34 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-08-19 21:34 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 38454 bytes --]
tree: https://github.com/jpirko/linux_mlxsw petrm_8021qaz
head: 9695d59b85070316a2336212a26addeff39f3c56
commit: 9695d59b85070316a2336212a26addeff39f3c56 [18/18] more wip
config: powerpc64-allyesconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0
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
git checkout 9695d59b85070316a2336212a26addeff39f3c56
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
In file included from include/linux/srcu.h:21,
from include/linux/notifier.h:16,
from arch/powerpc/include/asm/uprobes.h:12,
from include/linux/uprobes.h:49,
from include/linux/mm_types.h:14,
from include/linux/mmzone.h:21,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:16,
from drivers/net/ethernet/mellanox/mlxsw/spectrum.c:5:
drivers/net/ethernet/mellanox/mlxsw/spectrum.c: In function 'mlxsw_sp_port_create':
>> drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1567:34: error: 'struct mlxsw_sp_port' has no member named 'span'
1567 | INIT_DELAYED_WORK(&mlxsw_sp_port->span.speed_update_dw,
| ^~
include/linux/workqueue.h:233:16: note: in definition of macro '__INIT_WORK'
233 | __init_work((_work), _onstack); \
| ^~~~~
include/linux/workqueue.h:257:3: note: in expansion of macro 'INIT_WORK'
257 | INIT_WORK(&(_work)->work, (_func)); \
| ^~~~~~~~~
include/linux/workqueue.h:272:2: note: in expansion of macro '__INIT_DELAYED_WORK'
272 | __INIT_DELAYED_WORK(_work, _func, 0)
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1567:2: note: in expansion of macro 'INIT_DELAYED_WORK'
1567 | INIT_DELAYED_WORK(&mlxsw_sp_port->span.speed_update_dw,
| ^~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1567:34: error: 'struct mlxsw_sp_port' has no member named 'span'
1567 | INIT_DELAYED_WORK(&mlxsw_sp_port->span.speed_update_dw,
| ^~
include/linux/workqueue.h:234:4: note: in definition of macro '__INIT_WORK'
234 | (_work)->data = (atomic_long_t) WORK_DATA_INIT(); \
| ^~~~~
include/linux/workqueue.h:257:3: note: in expansion of macro 'INIT_WORK'
257 | INIT_WORK(&(_work)->work, (_func)); \
| ^~~~~~~~~
include/linux/workqueue.h:272:2: note: in expansion of macro '__INIT_DELAYED_WORK'
272 | __INIT_DELAYED_WORK(_work, _func, 0)
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1567:2: note: in expansion of macro 'INIT_DELAYED_WORK'
1567 | INIT_DELAYED_WORK(&mlxsw_sp_port->span.speed_update_dw,
| ^~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1567:34: error: 'struct mlxsw_sp_port' has no member named 'span'
1567 | INIT_DELAYED_WORK(&mlxsw_sp_port->span.speed_update_dw,
| ^~
include/linux/workqueue.h:235:22: note: in definition of macro '__INIT_WORK'
235 | lockdep_init_map(&(_work)->lockdep_map, "(work_completion)"#_work, &__key, 0); \
| ^~~~~
include/linux/workqueue.h:257:3: note: in expansion of macro 'INIT_WORK'
257 | INIT_WORK(&(_work)->work, (_func)); \
| ^~~~~~~~~
include/linux/workqueue.h:272:2: note: in expansion of macro '__INIT_DELAYED_WORK'
272 | __INIT_DELAYED_WORK(_work, _func, 0)
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1567:2: note: in expansion of macro 'INIT_DELAYED_WORK'
1567 | INIT_DELAYED_WORK(&mlxsw_sp_port->span.speed_update_dw,
| ^~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1567:34: error: 'struct mlxsw_sp_port' has no member named 'span'
1567 | INIT_DELAYED_WORK(&mlxsw_sp_port->span.speed_update_dw,
| ^~
include/linux/workqueue.h:236:20: note: in definition of macro '__INIT_WORK'
236 | INIT_LIST_HEAD(&(_work)->entry); \
| ^~~~~
include/linux/workqueue.h:257:3: note: in expansion of macro 'INIT_WORK'
257 | INIT_WORK(&(_work)->work, (_func)); \
| ^~~~~~~~~
include/linux/workqueue.h:272:2: note: in expansion of macro '__INIT_DELAYED_WORK'
272 | __INIT_DELAYED_WORK(_work, _func, 0)
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1567:2: note: in expansion of macro 'INIT_DELAYED_WORK'
1567 | INIT_DELAYED_WORK(&mlxsw_sp_port->span.speed_update_dw,
| ^~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1567:34: error: 'struct mlxsw_sp_port' has no member named 'span'
1567 | INIT_DELAYED_WORK(&mlxsw_sp_port->span.speed_update_dw,
| ^~
include/linux/workqueue.h:237:4: note: in definition of macro '__INIT_WORK'
237 | (_work)->func = (_func); \
| ^~~~~
include/linux/workqueue.h:257:3: note: in expansion of macro 'INIT_WORK'
257 | INIT_WORK(&(_work)->work, (_func)); \
| ^~~~~~~~~
include/linux/workqueue.h:272:2: note: in expansion of macro '__INIT_DELAYED_WORK'
272 | __INIT_DELAYED_WORK(_work, _func, 0)
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1567:2: note: in expansion of macro 'INIT_DELAYED_WORK'
1567 | INIT_DELAYED_WORK(&mlxsw_sp_port->span.speed_update_dw,
| ^~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1568:6: error: 'mlxsw_sp_pb_speed_update_work' undeclared (first use in this function); did you mean 'mlxsw_sp_span_speed_update_work'?
1568 | mlxsw_sp_pb_speed_update_work);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/workqueue.h:237:20: note: in definition of macro '__INIT_WORK'
237 | (_work)->func = (_func); \
| ^~~~~
include/linux/workqueue.h:257:3: note: in expansion of macro 'INIT_WORK'
257 | INIT_WORK(&(_work)->work, (_func)); \
| ^~~~~~~~~
include/linux/workqueue.h:272:2: note: in expansion of macro '__INIT_DELAYED_WORK'
272 | __INIT_DELAYED_WORK(_work, _func, 0)
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1567:2: note: in expansion of macro 'INIT_DELAYED_WORK'
1567 | INIT_DELAYED_WORK(&mlxsw_sp_port->span.speed_update_dw,
| ^~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1568:6: note: each undeclared identifier is reported only once for each function it appears in
1568 | mlxsw_sp_pb_speed_update_work);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/workqueue.h:237:20: note: in definition of macro '__INIT_WORK'
237 | (_work)->func = (_func); \
| ^~~~~
include/linux/workqueue.h:257:3: note: in expansion of macro 'INIT_WORK'
257 | INIT_WORK(&(_work)->work, (_func)); \
| ^~~~~~~~~
include/linux/workqueue.h:272:2: note: in expansion of macro '__INIT_DELAYED_WORK'
272 | __INIT_DELAYED_WORK(_work, _func, 0)
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1567:2: note: in expansion of macro 'INIT_DELAYED_WORK'
1567 | INIT_DELAYED_WORK(&mlxsw_sp_port->span.speed_update_dw,
| ^~~~~~~~~~~~~~~~~
In file included from include/linux/workqueue.h:9,
from include/linux/srcu.h:21,
from include/linux/notifier.h:16,
from arch/powerpc/include/asm/uprobes.h:12,
from include/linux/uprobes.h:49,
from include/linux/mm_types.h:14,
from include/linux/mmzone.h:21,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:16,
from drivers/net/ethernet/mellanox/mlxsw/spectrum.c:5:
>> drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1567:34: error: 'struct mlxsw_sp_port' has no member named 'span'
1567 | INIT_DELAYED_WORK(&mlxsw_sp_port->span.speed_update_dw,
| ^~
include/linux/timer.h:114:19: note: in definition of macro '__init_timer'
114 | init_timer_key((_timer), (_fn), (_flags), #_timer, &__key);\
| ^~~~~~
include/linux/workqueue.h:272:2: note: in expansion of macro '__INIT_DELAYED_WORK'
272 | __INIT_DELAYED_WORK(_work, _func, 0)
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1567:2: note: in expansion of macro 'INIT_DELAYED_WORK'
1567 | INIT_DELAYED_WORK(&mlxsw_sp_port->span.speed_update_dw,
| ^~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlxsw/spectrum.c: In function 'mlxsw_sp_port_remove':
drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1624:41: error: 'struct mlxsw_sp_port' has no member named 'span'
1624 | cancel_delayed_work_sync(&mlxsw_sp_port->span.speed_update_dw);
| ^~
drivers/net/ethernet/mellanox/mlxsw/spectrum.c: In function 'mlxsw_sp_pude_event_func':
drivers/net/ethernet/mellanox/mlxsw/spectrum.c:2029:40: error: 'struct mlxsw_sp_port' has no member named 'span'
2029 | mlxsw_core_schedule_dw(&mlxsw_sp_port->span.speed_update_dw, 0);
| ^~
--
>> drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c:564:6: warning: no previous prototype for 'mlxsw_sp_pb_speed_update_work' [-Wmissing-prototypes]
564 | void mlxsw_sp_pb_speed_update_work(struct work_struct *work)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c: In function 'mlxsw_sp_pb_speed_update_work':
>> drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c:575:2: error: 'err' undeclared (first use in this function)
575 | err = mlxsw_sp_port_speed_get(mlxsw_sp_port, &speed);
| ^~~
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c:575:2: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c:577:10: warning: 'return' with a value, in function returning void [-Wreturn-type]
577 | return err;
| ^~~
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c:564:6: note: declared here
564 | void mlxsw_sp_pb_speed_update_work(struct work_struct *work)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/seqlock.h:19,
from include/linux/mmzone.h:16,
from include/linux/gfp.h:6,
from include/linux/mm.h:10,
from include/linux/bvec.h:13,
from include/linux/skbuff.h:17,
from include/linux/if_ether.h:19,
from drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c:7:
>> drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c:595:28: error: dereferencing pointer to incomplete type 'struct mlxsw_sp_span'
595 | mutex_lock(&mlxsw_sp->span->analyzed_ports_lock);
| ^~
include/linux/mutex.h:167:44: note: in definition of macro 'mutex_lock'
167 | #define mutex_lock(lock) mutex_lock_nested(lock, 0)
| ^~~~
>> drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c:597:6: error: implicit declaration of function 'mlxsw_sp_span_analyzed_port_find' [-Werror=implicit-function-declaration]
597 | if (mlxsw_sp_span_analyzed_port_find(mlxsw_sp->span,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c:599:3: error: implicit declaration of function 'mlxsw_sp_span_port_buffer_update'; did you mean 'mlxsw_sp_port_buffers_init'? [-Werror=implicit-function-declaration]
599 | mlxsw_sp_span_port_buffer_update(mlxsw_sp_port,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| mlxsw_sp_port_buffers_init
cc1: some warnings being treated as errors
--
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c: In function 'mlxsw_sp_span_port_buffer_update':
>> drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c:988:13: error: implicit declaration of function 'mlxsw_sp_span_buffsize_get'; did you mean 'mlxsw_reg_sbib_buff_size_get'? [-Werror=implicit-function-declaration]
988 | buffsize = mlxsw_sp_span_buffsize_get(mlxsw_sp, speed, mtu);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| mlxsw_reg_sbib_buff_size_get
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c: At top level:
>> drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c:1743:3: error: 'const struct mlxsw_sp_span_ops' has no member named 'buffsize_get'
1743 | .buffsize_get = mlxsw_sp3_span_buffsize_get,
| ^~~~~~~~~~~~
>> drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c:1743:18: error: 'mlxsw_sp3_span_buffsize_get' undeclared here (not in a function); did you mean 'mlxsw_reg_sbib_buff_size_get'?
1743 | .buffsize_get = mlxsw_sp3_span_buffsize_get,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| mlxsw_reg_sbib_buff_size_get
>> drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c:1743:18: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c:1743:18: note: (near initialization for 'mlxsw_sp3_span_ops')
cc1: some warnings being treated as errors
--
>> drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c:1238:3: error: 'const struct mlxsw_sp_port_type_speed_ops' has no member named 'ptys_max_speed'
1238 | .ptys_max_speed = mlxsw_sp1_ptys_max_speed,
| ^~~~~~~~~~~~~~
>> drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c:1238:22: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
1238 | .ptys_max_speed = mlxsw_sp1_ptys_max_speed,
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c:1238:22: note: (near initialization for 'mlxsw_sp1_port_type_speed_ops')
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c:1238:22: error: initialization of 'u32 (*)(struct mlxsw_sp *, u8, const struct ethtool_link_ksettings *)' {aka 'unsigned int (*)(struct mlxsw_sp *, unsigned char, const struct ethtool_link_ksettings *)'} from incompatible pointer type 'u32 (*)(struct mlxsw_sp *, u8)' {aka 'unsigned int (*)(struct mlxsw_sp *, unsigned char)'} [-Werror=incompatible-pointer-types]
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c:1238:22: note: (near initialization for 'mlxsw_sp1_port_type_speed_ops.to_ptys_advert_link')
>> drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c:1239:26: warning: initialized field overwritten [-Woverride-init]
1239 | .to_ptys_advert_link = mlxsw_sp1_to_ptys_advert_link,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c:1239:26: note: (near initialization for 'mlxsw_sp1_port_type_speed_ops.to_ptys_advert_link')
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c:1660:3: error: 'const struct mlxsw_sp_port_type_speed_ops' has no member named 'ptys_max_speed'
1660 | .ptys_max_speed = mlxsw_sp2_ptys_max_speed,
| ^~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c:1660:22: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
1660 | .ptys_max_speed = mlxsw_sp2_ptys_max_speed,
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c:1660:22: note: (near initialization for 'mlxsw_sp2_port_type_speed_ops')
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c:1660:22: error: initialization of 'u32 (*)(struct mlxsw_sp *, u8, const struct ethtool_link_ksettings *)' {aka 'unsigned int (*)(struct mlxsw_sp *, unsigned char, const struct ethtool_link_ksettings *)'} from incompatible pointer type 'u32 (*)(struct mlxsw_sp *, u8)' {aka 'unsigned int (*)(struct mlxsw_sp *, unsigned char)'} [-Werror=incompatible-pointer-types]
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c:1660:22: note: (near initialization for 'mlxsw_sp2_port_type_speed_ops.to_ptys_advert_link')
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c:1661:26: warning: initialized field overwritten [-Woverride-init]
1661 | .to_ptys_advert_link = mlxsw_sp2_to_ptys_advert_link,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c:1661:26: note: (near initialization for 'mlxsw_sp2_port_type_speed_ops.to_ptys_advert_link')
cc1: some warnings being treated as errors
# https://github.com/jpirko/linux_mlxsw/commit/9695d59b85070316a2336212a26addeff39f3c56
git remote add jpirko-mlxsw https://github.com/jpirko/linux_mlxsw
git fetch --no-tags jpirko-mlxsw petrm_8021qaz
git checkout 9695d59b85070316a2336212a26addeff39f3c56
vim +1567 drivers/net/ethernet/mellanox/mlxsw/spectrum.c
7b819530669458 Petr Machata 2018-08-05 1370
5b15385964fab6 Ido Schimmel 2017-06-08 1371 static int mlxsw_sp_port_create(struct mlxsw_sp *mlxsw_sp, u8 local_port,
49185277cc451e Jiri Pirko 2019-10-31 1372 u8 split_base_local_port,
35896d9641db1a Jiri Pirko 2019-10-31 1373 struct mlxsw_sp_port_mapping *port_mapping)
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1374 {
c57529e1d5d882 Ido Schimmel 2017-05-26 1375 struct mlxsw_sp_port_vlan *mlxsw_sp_port_vlan;
49185277cc451e Jiri Pirko 2019-10-31 1376 bool split = !!split_base_local_port;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1377 struct mlxsw_sp_port *mlxsw_sp_port;
622d3e9201072a Danielle Ratson 2020-07-09 1378 u32 lanes = port_mapping->width;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1379 struct net_device *dev;
1b604efb6c2890 Danielle Ratson 2020-07-09 1380 bool splittable;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1381 int err;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1382
1b604efb6c2890 Danielle Ratson 2020-07-09 1383 splittable = lanes > 1 && !split;
e519418f8992b0 Jiri Pirko 2019-03-24 1384 err = mlxsw_core_port_init(mlxsw_sp->core, local_port,
35896d9641db1a Jiri Pirko 2019-10-31 1385 port_mapping->module + 1, split,
622d3e9201072a Danielle Ratson 2020-07-09 1386 port_mapping->lane / lanes,
1b604efb6c2890 Danielle Ratson 2020-07-09 1387 splittable, lanes,
cdf29f4a262527 Jiri Pirko 2019-04-03 1388 mlxsw_sp->base_mac,
cdf29f4a262527 Jiri Pirko 2019-04-03 1389 sizeof(mlxsw_sp->base_mac));
5b15385964fab6 Ido Schimmel 2017-06-08 1390 if (err) {
5b15385964fab6 Ido Schimmel 2017-06-08 1391 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to init core port\n",
5b15385964fab6 Ido Schimmel 2017-06-08 1392 local_port);
5b15385964fab6 Ido Schimmel 2017-06-08 1393 return err;
5b15385964fab6 Ido Schimmel 2017-06-08 1394 }
5b15385964fab6 Ido Schimmel 2017-06-08 1395
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1396 dev = alloc_etherdev(sizeof(struct mlxsw_sp_port));
5b15385964fab6 Ido Schimmel 2017-06-08 1397 if (!dev) {
5b15385964fab6 Ido Schimmel 2017-06-08 1398 err = -ENOMEM;
5b15385964fab6 Ido Schimmel 2017-06-08 1399 goto err_alloc_etherdev;
5b15385964fab6 Ido Schimmel 2017-06-08 1400 }
f20a91f1cc7010 Jiri Pirko 2016-10-27 1401 SET_NETDEV_DEV(dev, mlxsw_sp->bus_info->dev);
6b2a880f9dd1c8 Jiri Pirko 2019-10-03 1402 dev_net_set(dev, mlxsw_sp_net(mlxsw_sp));
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1403 mlxsw_sp_port = netdev_priv(dev);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1404 mlxsw_sp_port->dev = dev;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1405 mlxsw_sp_port->mlxsw_sp = mlxsw_sp;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1406 mlxsw_sp_port->local_port = local_port;
a2d2a20553f0b7 Ido Schimmel 2018-12-20 1407 mlxsw_sp_port->pvid = MLXSW_SP_DEFAULT_VID;
18f1e70c413713 Ido Schimmel 2016-02-26 1408 mlxsw_sp_port->split = split;
49185277cc451e Jiri Pirko 2019-10-31 1409 mlxsw_sp_port->split_base_local_port = split_base_local_port;
35896d9641db1a Jiri Pirko 2019-10-31 1410 mlxsw_sp_port->mapping = *port_mapping;
0c83f88c02085a Ido Schimmel 2016-09-12 1411 mlxsw_sp_port->link.autoneg = 1;
31a08a523ae453 Ido Schimmel 2017-05-26 1412 INIT_LIST_HEAD(&mlxsw_sp_port->vlans_list);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1413
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1414 mlxsw_sp_port->pcpu_stats =
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1415 netdev_alloc_pcpu_stats(struct mlxsw_sp_port_pcpu_stats);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1416 if (!mlxsw_sp_port->pcpu_stats) {
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1417 err = -ENOMEM;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1418 goto err_alloc_stats;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1419 }
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1420
9deef43ddfb1df Nogah Frankel 2017-10-26 1421 INIT_DELAYED_WORK(&mlxsw_sp_port->periodic_hw_stats.update_dw,
fc1bbb0f1831cc Nogah Frankel 2016-09-16 1422 &update_stats_cache);
fc1bbb0f1831cc Nogah Frankel 2016-09-16 1423
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1424 dev->netdev_ops = &mlxsw_sp_port_netdev_ops;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1425 dev->ethtool_ops = &mlxsw_sp_port_ethtool_ops;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1426
35896d9641db1a Jiri Pirko 2019-10-31 1427 err = mlxsw_sp_port_module_map(mlxsw_sp_port);
5b15385964fab6 Ido Schimmel 2017-06-08 1428 if (err) {
5b15385964fab6 Ido Schimmel 2017-06-08 1429 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to map module\n",
5b15385964fab6 Ido Schimmel 2017-06-08 1430 mlxsw_sp_port->local_port);
5b15385964fab6 Ido Schimmel 2017-06-08 1431 goto err_port_module_map;
5b15385964fab6 Ido Schimmel 2017-06-08 1432 }
5b15385964fab6 Ido Schimmel 2017-06-08 1433
3247ff2b318f3e Ido Schimmel 2016-09-08 1434 err = mlxsw_sp_port_swid_set(mlxsw_sp_port, 0);
3247ff2b318f3e Ido Schimmel 2016-09-08 1435 if (err) {
3247ff2b318f3e Ido Schimmel 2016-09-08 1436 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to set SWID\n",
3247ff2b318f3e Ido Schimmel 2016-09-08 1437 mlxsw_sp_port->local_port);
3247ff2b318f3e Ido Schimmel 2016-09-08 1438 goto err_port_swid_set;
3247ff2b318f3e Ido Schimmel 2016-09-08 1439 }
3247ff2b318f3e Ido Schimmel 2016-09-08 1440
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1441 err = mlxsw_sp_port_dev_addr_init(mlxsw_sp_port);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1442 if (err) {
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1443 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Unable to init port mac address\n",
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1444 mlxsw_sp_port->local_port);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1445 goto err_dev_addr_init;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1446 }
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1447
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1448 netif_carrier_off(dev);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1449
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1450 dev->features |= NETIF_F_NETNS_LOCAL | NETIF_F_LLTX | NETIF_F_SG |
763b4b70afcd32 Yotam Gigi 2016-07-21 1451 NETIF_F_HW_VLAN_CTAG_FILTER | NETIF_F_HW_TC;
8e44c0ce599191 Jiri Pirko 2019-05-05 1452 dev->hw_features |= NETIF_F_HW_TC | NETIF_F_LOOPBACK;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1453
d894be57ca92c8 Jarod Wilson 2016-10-20 1454 dev->min_mtu = 0;
d894be57ca92c8 Jarod Wilson 2016-10-20 1455 dev->max_mtu = ETH_MAX_MTU;
d894be57ca92c8 Jarod Wilson 2016-10-20 1456
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1457 /* Each packet needs to have a Tx header (metadata) on top all other
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1458 * headers.
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1459 */
feb7d387a6cf6c Yotam Gigi 2016-10-04 1460 dev->needed_headroom = MLXSW_TXHDR_LEN;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1461
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1462 err = mlxsw_sp_port_system_port_mapping_set(mlxsw_sp_port);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1463 if (err) {
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1464 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to set system port mapping\n",
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1465 mlxsw_sp_port->local_port);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1466 goto err_port_system_port_mapping_set;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1467 }
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1468
35896d9641db1a Jiri Pirko 2019-10-31 1469 err = mlxsw_sp_port_speed_by_width_set(mlxsw_sp_port);
18f1e70c413713 Ido Schimmel 2016-02-26 1470 if (err) {
18f1e70c413713 Ido Schimmel 2016-02-26 1471 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to enable speeds\n",
18f1e70c413713 Ido Schimmel 2016-02-26 1472 mlxsw_sp_port->local_port);
18f1e70c413713 Ido Schimmel 2016-02-26 1473 goto err_port_speed_by_width_set;
18f1e70c413713 Ido Schimmel 2016-02-26 1474 }
18f1e70c413713 Ido Schimmel 2016-02-26 1475
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1476 err = mlxsw_sp_port_mtu_set(mlxsw_sp_port, ETH_DATA_LEN);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1477 if (err) {
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1478 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to set MTU\n",
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1479 mlxsw_sp_port->local_port);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1480 goto err_port_mtu_set;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1481 }
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1482
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1483 err = mlxsw_sp_port_admin_status_set(mlxsw_sp_port, false);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1484 if (err)
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1485 goto err_port_admin_status_set;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1486
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1487 err = mlxsw_sp_port_buffers_init(mlxsw_sp_port);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1488 if (err) {
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1489 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to initialize buffers\n",
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1490 mlxsw_sp_port->local_port);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1491 goto err_port_buffers_init;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1492 }
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1493
90183b980d0af7 Ido Schimmel 2016-04-06 1494 err = mlxsw_sp_port_ets_init(mlxsw_sp_port);
90183b980d0af7 Ido Schimmel 2016-04-06 1495 if (err) {
90183b980d0af7 Ido Schimmel 2016-04-06 1496 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to initialize ETS\n",
90183b980d0af7 Ido Schimmel 2016-04-06 1497 mlxsw_sp_port->local_port);
90183b980d0af7 Ido Schimmel 2016-04-06 1498 goto err_port_ets_init;
90183b980d0af7 Ido Schimmel 2016-04-06 1499 }
90183b980d0af7 Ido Schimmel 2016-04-06 1500
7b819530669458 Petr Machata 2018-08-05 1501 err = mlxsw_sp_port_tc_mc_mode_set(mlxsw_sp_port, true);
7b819530669458 Petr Machata 2018-08-05 1502 if (err) {
7b819530669458 Petr Machata 2018-08-05 1503 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to initialize TC MC mode\n",
7b819530669458 Petr Machata 2018-08-05 1504 mlxsw_sp_port->local_port);
7b819530669458 Petr Machata 2018-08-05 1505 goto err_port_tc_mc_mode;
7b819530669458 Petr Machata 2018-08-05 1506 }
7b819530669458 Petr Machata 2018-08-05 1507
f00817df2b428e Ido Schimmel 2016-04-06 1508 /* ETS and buffers must be initialized before DCB. */
f00817df2b428e Ido Schimmel 2016-04-06 1509 err = mlxsw_sp_port_dcb_init(mlxsw_sp_port);
f00817df2b428e Ido Schimmel 2016-04-06 1510 if (err) {
f00817df2b428e Ido Schimmel 2016-04-06 1511 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to initialize DCB\n",
f00817df2b428e Ido Schimmel 2016-04-06 1512 mlxsw_sp_port->local_port);
f00817df2b428e Ido Schimmel 2016-04-06 1513 goto err_port_dcb_init;
f00817df2b428e Ido Schimmel 2016-04-06 1514 }
f00817df2b428e Ido Schimmel 2016-04-06 1515
a110748725450a Ido Schimmel 2017-05-26 1516 err = mlxsw_sp_port_fids_init(mlxsw_sp_port);
45a4a16cdb0332 Ido Schimmel 2017-05-16 1517 if (err) {
a110748725450a Ido Schimmel 2017-05-26 1518 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to initialize FIDs\n",
45a4a16cdb0332 Ido Schimmel 2017-05-16 1519 mlxsw_sp_port->local_port);
a110748725450a Ido Schimmel 2017-05-26 1520 goto err_port_fids_init;
45a4a16cdb0332 Ido Schimmel 2017-05-16 1521 }
45a4a16cdb0332 Ido Schimmel 2017-05-16 1522
371b437a325172 Nogah Frankel 2018-01-10 1523 err = mlxsw_sp_tc_qdisc_init(mlxsw_sp_port);
371b437a325172 Nogah Frankel 2018-01-10 1524 if (err) {
371b437a325172 Nogah Frankel 2018-01-10 1525 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to initialize TC qdiscs\n",
371b437a325172 Nogah Frankel 2018-01-10 1526 mlxsw_sp_port->local_port);
371b437a325172 Nogah Frankel 2018-01-10 1527 goto err_port_qdiscs_init;
371b437a325172 Nogah Frankel 2018-01-10 1528 }
371b437a325172 Nogah Frankel 2018-01-10 1529
ff285d6847ce66 Petr Machata 2020-08-10 1530 if (mlxsw_sp->span_ops->fix_momte)
ff285d6847ce66 Petr Machata 2020-08-10 1531 mlxsw_sp->span_ops->fix_momte(mlxsw_sp_port);
ff285d6847ce66 Petr Machata 2020-08-10 1532
979b9b251ae06e Ido Schimmel 2019-09-26 1533 err = mlxsw_sp_port_vlan_set(mlxsw_sp_port, 0, VLAN_N_VID - 1, false,
979b9b251ae06e Ido Schimmel 2019-09-26 1534 false);
979b9b251ae06e Ido Schimmel 2019-09-26 1535 if (err) {
979b9b251ae06e Ido Schimmel 2019-09-26 1536 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to clear VLAN filter\n",
979b9b251ae06e Ido Schimmel 2019-09-26 1537 mlxsw_sp_port->local_port);
979b9b251ae06e Ido Schimmel 2019-09-26 1538 goto err_port_vlan_clear;
979b9b251ae06e Ido Schimmel 2019-09-26 1539 }
979b9b251ae06e Ido Schimmel 2019-09-26 1540
6e6030bd541218 Ido Schimmel 2018-10-17 1541 err = mlxsw_sp_port_nve_init(mlxsw_sp_port);
6e6030bd541218 Ido Schimmel 2018-10-17 1542 if (err) {
6e6030bd541218 Ido Schimmel 2018-10-17 1543 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to initialize NVE\n",
6e6030bd541218 Ido Schimmel 2018-10-17 1544 mlxsw_sp_port->local_port);
6e6030bd541218 Ido Schimmel 2018-10-17 1545 goto err_port_nve_init;
6e6030bd541218 Ido Schimmel 2018-10-17 1546 }
6e6030bd541218 Ido Schimmel 2018-10-17 1547
262e1ff91c3bc9 Ido Schimmel 2018-12-20 1548 err = mlxsw_sp_port_pvid_set(mlxsw_sp_port, MLXSW_SP_DEFAULT_VID);
262e1ff91c3bc9 Ido Schimmel 2018-12-20 1549 if (err) {
262e1ff91c3bc9 Ido Schimmel 2018-12-20 1550 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to set PVID\n",
262e1ff91c3bc9 Ido Schimmel 2018-12-20 1551 mlxsw_sp_port->local_port);
262e1ff91c3bc9 Ido Schimmel 2018-12-20 1552 goto err_port_pvid_set;
262e1ff91c3bc9 Ido Schimmel 2018-12-20 1553 }
262e1ff91c3bc9 Ido Schimmel 2018-12-20 1554
a2d2a20553f0b7 Ido Schimmel 2018-12-20 1555 mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_create(mlxsw_sp_port,
a2d2a20553f0b7 Ido Schimmel 2018-12-20 1556 MLXSW_SP_DEFAULT_VID);
c57529e1d5d882 Ido Schimmel 2017-05-26 1557 if (IS_ERR(mlxsw_sp_port_vlan)) {
c57529e1d5d882 Ido Schimmel 2017-05-26 1558 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to create VID 1\n",
05978481e77e47 Ido Schimmel 2016-08-17 1559 mlxsw_sp_port->local_port);
d86fd113ebbb37 Wei Yongjun 2017-11-06 1560 err = PTR_ERR(mlxsw_sp_port_vlan);
635c8c8bba670d Ido Schimmel 2018-12-19 1561 goto err_port_vlan_create;
05978481e77e47 Ido Schimmel 2016-08-17 1562 }
346fca3b58cbe0 Ido Schimmel 2018-12-20 1563 mlxsw_sp_port->default_vlan = mlxsw_sp_port_vlan;
05978481e77e47 Ido Schimmel 2016-08-17 1564
5fc1733897bff1 Shalom Toledo 2019-07-04 1565 INIT_DELAYED_WORK(&mlxsw_sp_port->ptp.shaper_dw,
5fc1733897bff1 Shalom Toledo 2019-07-04 1566 mlxsw_sp->ptp_ops->shaper_work);
3a3e627ce0ac0f Jiri Pirko 2020-01-20 @1567 INIT_DELAYED_WORK(&mlxsw_sp_port->span.speed_update_dw,
9695d59b850703 Petr Machata 2020-08-19 @1568 mlxsw_sp_pb_speed_update_work);
5fc1733897bff1 Shalom Toledo 2019-07-04 1569
2f25844c233650 Ido Schimmel 2016-08-17 1570 mlxsw_sp->ports[local_port] = mlxsw_sp_port;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1571 err = register_netdev(dev);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1572 if (err) {
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1573 dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to register netdev\n",
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1574 mlxsw_sp_port->local_port);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1575 goto err_register_netdev;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1576 }
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1577
d808c7e490350c Elad Raz 2016-10-28 1578 mlxsw_core_port_eth_set(mlxsw_sp->core, mlxsw_sp_port->local_port,
e519418f8992b0 Jiri Pirko 2019-03-24 1579 mlxsw_sp_port, dev);
9deef43ddfb1df Nogah Frankel 2017-10-26 1580 mlxsw_core_schedule_dw(&mlxsw_sp_port->periodic_hw_stats.update_dw, 0);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1581 return 0;
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1582
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1583 err_register_netdev:
2f25844c233650 Ido Schimmel 2016-08-17 1584 mlxsw_sp->ports[local_port] = NULL;
635c8c8bba670d Ido Schimmel 2018-12-19 1585 mlxsw_sp_port_vlan_destroy(mlxsw_sp_port_vlan);
635c8c8bba670d Ido Schimmel 2018-12-19 1586 err_port_vlan_create:
262e1ff91c3bc9 Ido Schimmel 2018-12-20 1587 err_port_pvid_set:
6e6030bd541218 Ido Schimmel 2018-10-17 1588 mlxsw_sp_port_nve_fini(mlxsw_sp_port);
6e6030bd541218 Ido Schimmel 2018-10-17 1589 err_port_nve_init:
979b9b251ae06e Ido Schimmel 2019-09-26 1590 err_port_vlan_clear:
371b437a325172 Nogah Frankel 2018-01-10 1591 mlxsw_sp_tc_qdisc_fini(mlxsw_sp_port);
371b437a325172 Nogah Frankel 2018-01-10 1592 err_port_qdiscs_init:
a110748725450a Ido Schimmel 2017-05-26 1593 mlxsw_sp_port_fids_fini(mlxsw_sp_port);
a110748725450a Ido Schimmel 2017-05-26 1594 err_port_fids_init:
4de34eb5743f72 Ido Schimmel 2016-08-04 1595 mlxsw_sp_port_dcb_fini(mlxsw_sp_port);
f00817df2b428e Ido Schimmel 2016-04-06 1596 err_port_dcb_init:
7b819530669458 Petr Machata 2018-08-05 1597 mlxsw_sp_port_tc_mc_mode_set(mlxsw_sp_port, false);
7b819530669458 Petr Machata 2018-08-05 1598 err_port_tc_mc_mode:
90183b980d0af7 Ido Schimmel 2016-04-06 1599 err_port_ets_init:
4f02d302f11226 Petr Machata 2020-08-14 1600 mlxsw_sp_port_buffers_fini(mlxsw_sp_port);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1601 err_port_buffers_init:
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1602 err_port_admin_status_set:
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1603 err_port_mtu_set:
18f1e70c413713 Ido Schimmel 2016-02-26 1604 err_port_speed_by_width_set:
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1605 err_port_system_port_mapping_set:
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1606 err_dev_addr_init:
3247ff2b318f3e Ido Schimmel 2016-09-08 1607 mlxsw_sp_port_swid_set(mlxsw_sp_port, MLXSW_PORT_SWID_DISABLED_PORT);
3247ff2b318f3e Ido Schimmel 2016-09-08 1608 err_port_swid_set:
2e915e0b68c921 Ido Schimmel 2017-06-08 1609 mlxsw_sp_port_module_unmap(mlxsw_sp_port);
5b15385964fab6 Ido Schimmel 2017-06-08 1610 err_port_module_map:
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1611 free_percpu(mlxsw_sp_port->pcpu_stats);
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1612 err_alloc_stats:
56ade8fe3fe1e1 Jiri Pirko 2015-10-16 1613 free_netdev(dev);
5b15385964fab6 Ido Schimmel 2017-06-08 1614 err_alloc_etherdev:
67963a33b4fde8 Jiri Pirko 2016-10-28 1615 mlxsw_core_port_fini(mlxsw_sp->core, local_port);
67963a33b4fde8 Jiri Pirko 2016-10-28 1616 return err;
67963a33b4fde8 Jiri Pirko 2016-10-28 1617 }
67963a33b4fde8 Jiri Pirko 2016-10-28 1618
:::::: The code at line 1567 was first introduced by commit
:::::: 3a3e627ce0ac0fe15e0a011540a1f7c96bf8a07b spectrum: Add a delayed work to update SPAN buffsize according to speed
:::::: TO: Jiri Pirko <jiri@mellanox.com>
:::::: CC: David S. Miller <davem@davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 70343 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-08-19 21:34 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-19 21:34 [jpirko-mlxsw:petrm_8021qaz 18/18] drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1567:34: error: 'struct mlxsw_sp_port' has no member named 'span' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.