Hi Andrew,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on vhost/linux-next]
[also build test WARNING on net-next/master net/master linus/master v5.14-rc6
next-20210818]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url:
https://github.com/0day-ci/linux/commits/Andrew-Melnychenko/drivers-net-v...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git linux-next
config: i386-randconfig-a015-20210818 (attached as .config)
compiler: clang version 14.0.0 (
https://github.com/llvm/llvm-project
d2b574a4dea5b718e4386bf2e26af0126e5978ce)
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://github.com/0day-ci/linux/commit/e731fc592ef2151e3a1fe044fa182517a...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Andrew-Melnychenko/drivers-net-virtio_net-Added-RSS-support/20210819-015744
git checkout e731fc592ef2151e3a1fe044fa182517adb1e47e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
> drivers/net/virtio_net.c:2476:5: warning: no previous prototype
for function 'virtnet_get_rxfh_key_size' [-Wmissing-prototypes]
u32
virtnet_get_rxfh_key_size(struct net_device *dev)
^
drivers/net/virtio_net.c:2476:1: note: declare 'static' if the function is not
intended to be used outside of this translation unit
u32 virtnet_get_rxfh_key_size(struct net_device *dev)
^
static
> drivers/net/virtio_net.c:2481:5: warning: no previous prototype
for function 'virtnet_get_rxfh_indir_size' [-Wmissing-prototypes]
u32
virtnet_get_rxfh_indir_size(struct net_device *dev)
^
drivers/net/virtio_net.c:2481:1: note: declare 'static' if the function is not
intended to be used outside of this translation unit
u32 virtnet_get_rxfh_indir_size(struct net_device *dev)
^
static
> drivers/net/virtio_net.c:2486:5: warning: no previous prototype
for function 'virtnet_get_rxfh' [-Wmissing-prototypes]
int
virtnet_get_rxfh(struct net_device *dev, u32 *indir, u8 *key, u8 *hfunc)
^
drivers/net/virtio_net.c:2486:1: note: declare 'static' if the function is not
intended to be used outside of this translation unit
int virtnet_get_rxfh(struct net_device *dev, u32 *indir, u8 *key, u8 *hfunc)
^
static
> drivers/net/virtio_net.c:2505:5: warning: no previous prototype
for function 'virtnet_set_rxfh' [-Wmissing-prototypes]
int
virtnet_set_rxfh(struct net_device *dev, const u32 *indir, const u8 *key, const u8 hfunc)
^
drivers/net/virtio_net.c:2505:1: note: declare 'static' if the function is not
intended to be used outside of this translation unit
int virtnet_set_rxfh(struct net_device *dev, const u32 *indir, const u8 *key, const u8
hfunc)
^
static
drivers/net/virtio_net.c:2535:2: error: 'default' statement not in switch
statement
default:
^
> drivers/net/virtio_net.c:2525:5: warning: no previous prototype
for function 'virtnet_get_rxnfc' [-Wmissing-prototypes]
int
virtnet_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *info, u32 *rule_locs)
^
drivers/net/virtio_net.c:2525:1: note: declare 'static' if the function is not
intended to be used outside of this translation unit
int virtnet_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *info, u32
*rule_locs)
^
static
drivers/net/virtio_net.c:2539:2: error: expected identifier or '('
return rc;
^
drivers/net/virtio_net.c:2540:1: error: extraneous closing brace ('}')
}
^
5 warnings and 3 errors generated.
vim +/virtnet_get_rxfh_key_size +2476 drivers/net/virtio_net.c
2475
2476 u32 virtnet_get_rxfh_key_size(struct net_device *dev)
2477 {
2478 return ((struct virtnet_info *)netdev_priv(dev))->rss_key_size;
2479 }
2480
2481 u32 virtnet_get_rxfh_indir_size(struct net_device *dev)
2482 {
2483 return ((struct virtnet_info *)netdev_priv(dev))->rss_indir_table_size;
2484 }
2485
2486 int virtnet_get_rxfh(struct net_device *dev, u32 *indir, u8
*key, u8 *hfunc)
2487 {
2488 struct virtnet_info *vi = netdev_priv(dev);
2489 int i;
2490
2491 if (indir) {
2492 for (i = 0; i < vi->rss_indir_table_size; ++i)
2493 indir[i] = vi->ctrl->rss.indirection_table[i];
2494 }
2495
2496 if (key)
2497 memcpy(key, vi->ctrl->rss.key, vi->rss_key_size);
2498
2499 if (hfunc)
2500 *hfunc = ETH_RSS_HASH_TOP;
2501
2502 return 0;
2503 }
2504
2505 int virtnet_set_rxfh(struct net_device *dev, const u32 *indir,
const u8 *key, const u8 hfunc)
2506 {
2507 struct virtnet_info *vi = netdev_priv(dev);
2508 int i;
2509
2510 if (hfunc != ETH_RSS_HASH_NO_CHANGE && hfunc != ETH_RSS_HASH_TOP)
2511 return -EOPNOTSUPP;
2512
2513 if (indir) {
2514 for (i = 0; i < vi->rss_indir_table_size; ++i)
2515 vi->ctrl->rss.indirection_table[i] = indir[i];
2516 }
2517 if (key)
2518 memcpy(vi->ctrl->rss.key, key, vi->rss_key_size);
2519
2520 virtnet_commit_rss_command(vi);
2521
2522 return 0;
2523 }
2524
2525 int virtnet_get_rxnfc(struct net_device *dev, struct
ethtool_rxnfc *info, u32 *rule_locs)
2526 {
2527 struct virtnet_info *vi = netdev_priv(dev);
2528 int rc = 0;
2529
2530 switch (info->cmd) {
2531 case ETHTOOL_GRXRINGS:
2532 info->data = vi->curr_queue_pairs;
2533 rc = -EOPNOTSUPP;
2534 }
2535 default:
2536 rc = -EOPNOTSUPP;
2537 }
2538
2539 return rc;
2540 }
2541
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org