Linux virtualization list
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
Cc: alexander.h.duyck@intel.com, virtio-dev@lists.oasis-open.org,
	jiri@resnulli.us, mst@redhat.com, kubakici@wp.pl,
	netdev@vger.kernel.org,
	virtualization@lists.linux-foundation.org, loseweigh@gmail.com,
	kbuild-all@01.org, sridhar.samudrala@intel.com,
	davem@davemloft.net
Subject: Re: [PATCH v7 net-next 4/4] netvsc: refactor notifier/event handling code to use the failover framework
Date: Sun, 22 Apr 2018 23:41:40 +0800	[thread overview]
Message-ID: <201804222244.mPr5M9Mf%fengguang.wu@intel.com> (raw)
In-Reply-To: <1524188524-28411-5-git-send-email-sridhar.samudrala@intel.com>

[-- Attachment #1: Type: text/plain, Size: 7695 bytes --]

Hi Sridhar,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net/master]
[also build test ERROR on v4.17-rc1]
[cannot apply to net-next/master next-20180420]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Sridhar-Samudrala/Enable-virtio_net-to-act-as-a-standby-for-a-passthru-device/20180422-210557
config: x86_64-allyesdebian (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

   In file included from drivers/net/hyperv/netvsc_drv.c:46:0:
   include/net/failover.h:67:1: error: expected identifier or '(' before '{' token
    {
    ^
   include/net/failover.h:78:16: warning: 'struct pfailover' declared inside parameter list will not be visible outside of this definition or declaration
            struct pfailover **pfailover);
                   ^~~~~~~~~
   include/net/failover.h:79:1: error: expected identifier or '(' before '{' token
    {
    ^
   drivers/net/hyperv/netvsc_drv.c: In function 'netvsc_probe':
>> drivers/net/hyperv/netvsc_drv.c:2020:5: error: passing argument 3 of 'failover_register' from incompatible pointer type [-Werror=incompatible-pointer-types]
        &net_device_ctx->failover);
        ^
   In file included from drivers/net/hyperv/netvsc_drv.c:46:0:
   include/net/failover.h:77:5: note: expected 'struct pfailover **' but argument is of type 'struct failover **'
    int failover_register(struct net_device *standby_dev, struct failover_ops *ops,
        ^~~~~~~~~~~~~~~~~
   drivers/net/hyperv/netvsc_drv.c: At top level:
   include/net/failover.h:65:5: warning: 'failover_create' declared 'static' but never defined [-Wunused-function]
    int failover_create(struct net_device *standby_dev,
        ^~~~~~~~~~~~~~~
>> include/net/failover.h:77:5: warning: 'failover_register' used but never defined
    int failover_register(struct net_device *standby_dev, struct failover_ops *ops,
        ^~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors
--
   In file included from drivers/net//hyperv/netvsc_drv.c:46:0:
   include/net/failover.h:67:1: error: expected identifier or '(' before '{' token
    {
    ^
   include/net/failover.h:78:16: warning: 'struct pfailover' declared inside parameter list will not be visible outside of this definition or declaration
            struct pfailover **pfailover);
                   ^~~~~~~~~
   include/net/failover.h:79:1: error: expected identifier or '(' before '{' token
    {
    ^
   drivers/net//hyperv/netvsc_drv.c: In function 'netvsc_probe':
   drivers/net//hyperv/netvsc_drv.c:2020:5: error: passing argument 3 of 'failover_register' from incompatible pointer type [-Werror=incompatible-pointer-types]
        &net_device_ctx->failover);
        ^
   In file included from drivers/net//hyperv/netvsc_drv.c:46:0:
   include/net/failover.h:77:5: note: expected 'struct pfailover **' but argument is of type 'struct failover **'
    int failover_register(struct net_device *standby_dev, struct failover_ops *ops,
        ^~~~~~~~~~~~~~~~~
   drivers/net//hyperv/netvsc_drv.c: At top level:
   include/net/failover.h:65:5: warning: 'failover_create' declared 'static' but never defined [-Wunused-function]
    int failover_create(struct net_device *standby_dev,
        ^~~~~~~~~~~~~~~
>> include/net/failover.h:77:5: warning: 'failover_register' used but never defined
    int failover_register(struct net_device *standby_dev, struct failover_ops *ops,
        ^~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/failover_register +2020 drivers/net/hyperv/netvsc_drv.c

  1929	
  1930	static int netvsc_probe(struct hv_device *dev,
  1931				const struct hv_vmbus_device_id *dev_id)
  1932	{
  1933		struct net_device *net = NULL;
  1934		struct net_device_context *net_device_ctx;
  1935		struct netvsc_device_info device_info;
  1936		struct netvsc_device *nvdev;
  1937		int ret = -ENOMEM;
  1938	
  1939		net = alloc_etherdev_mq(sizeof(struct net_device_context),
  1940					VRSS_CHANNEL_MAX);
  1941		if (!net)
  1942			goto no_net;
  1943	
  1944		netif_carrier_off(net);
  1945	
  1946		netvsc_init_settings(net);
  1947	
  1948		net_device_ctx = netdev_priv(net);
  1949		net_device_ctx->device_ctx = dev;
  1950		net_device_ctx->msg_enable = netif_msg_init(debug, default_msg);
  1951		if (netif_msg_probe(net_device_ctx))
  1952			netdev_dbg(net, "netvsc msg_enable: %d\n",
  1953				   net_device_ctx->msg_enable);
  1954	
  1955		hv_set_drvdata(dev, net);
  1956	
  1957		INIT_DELAYED_WORK(&net_device_ctx->dwork, netvsc_link_change);
  1958	
  1959		spin_lock_init(&net_device_ctx->lock);
  1960		INIT_LIST_HEAD(&net_device_ctx->reconfig_events);
  1961		INIT_DELAYED_WORK(&net_device_ctx->vf_takeover, netvsc_vf_setup);
  1962	
  1963		net_device_ctx->vf_stats
  1964			= netdev_alloc_pcpu_stats(struct netvsc_vf_pcpu_stats);
  1965		if (!net_device_ctx->vf_stats)
  1966			goto no_stats;
  1967	
  1968		net->netdev_ops = &device_ops;
  1969		net->ethtool_ops = &ethtool_ops;
  1970		SET_NETDEV_DEV(net, &dev->device);
  1971	
  1972		/* We always need headroom for rndis header */
  1973		net->needed_headroom = RNDIS_AND_PPI_SIZE;
  1974	
  1975		/* Initialize the number of queues to be 1, we may change it if more
  1976		 * channels are offered later.
  1977		 */
  1978		netif_set_real_num_tx_queues(net, 1);
  1979		netif_set_real_num_rx_queues(net, 1);
  1980	
  1981		/* Notify the netvsc driver of the new device */
  1982		memset(&device_info, 0, sizeof(device_info));
  1983		device_info.num_chn = VRSS_CHANNEL_DEFAULT;
  1984		device_info.send_sections = NETVSC_DEFAULT_TX;
  1985		device_info.send_section_size = NETVSC_SEND_SECTION_SIZE;
  1986		device_info.recv_sections = NETVSC_DEFAULT_RX;
  1987		device_info.recv_section_size = NETVSC_RECV_SECTION_SIZE;
  1988	
  1989		nvdev = rndis_filter_device_add(dev, &device_info);
  1990		if (IS_ERR(nvdev)) {
  1991			ret = PTR_ERR(nvdev);
  1992			netdev_err(net, "unable to add netvsc device (ret %d)\n", ret);
  1993			goto rndis_failed;
  1994		}
  1995	
  1996		memcpy(net->dev_addr, device_info.mac_adr, ETH_ALEN);
  1997	
  1998		/* hw_features computed in rndis_netdev_set_hwcaps() */
  1999		net->features = net->hw_features |
  2000			NETIF_F_HIGHDMA | NETIF_F_SG |
  2001			NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX;
  2002		net->vlan_features = net->features;
  2003	
  2004		netdev_lockdep_set_classes(net);
  2005	
  2006		/* MTU range: 68 - 1500 or 65521 */
  2007		net->min_mtu = NETVSC_MTU_MIN;
  2008		if (nvdev->nvsp_version >= NVSP_PROTOCOL_VERSION_2)
  2009			net->max_mtu = NETVSC_MTU - ETH_HLEN;
  2010		else
  2011			net->max_mtu = ETH_DATA_LEN;
  2012	
  2013		ret = register_netdev(net);
  2014		if (ret != 0) {
  2015			pr_err("Unable to register netdev.\n");
  2016			goto register_failed;
  2017		}
  2018	
  2019		ret = failover_register(net, &netvsc_failover_ops,
> 2020					&net_device_ctx->failover);
  2021		if (ret != 0)
  2022			goto err_failover;
  2023	
  2024		return ret;
  2025	
  2026	err_failover:
  2027		unregister_netdev(net);
  2028	register_failed:
  2029		rndis_filter_device_remove(dev, nvdev);
  2030	rndis_failed:
  2031		free_percpu(net_device_ctx->vf_stats);
  2032	no_stats:
  2033		hv_set_drvdata(dev, NULL);
  2034		free_netdev(net);
  2035	no_net:
  2036		return ret;
  2037	}
  2038	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 39371 bytes --]

[-- Attachment #3: Type: text/plain, Size: 183 bytes --]

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

  parent reply	other threads:[~2018-04-22 15:41 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1524188524-28411-1-git-send-email-sridhar.samudrala@intel.com>
2018-04-20  1:42 ` [PATCH v7 net-next 1/4] virtio_net: Introduce VIRTIO_NET_F_STANDBY feature bit Sridhar Samudrala
2018-04-20  1:42 ` [PATCH v7 net-next 2/4] net: Introduce generic failover module Sridhar Samudrala
2018-04-20  1:42 ` [PATCH v7 net-next 3/4] virtio_net: Extend virtio to use VF datapath when available Sridhar Samudrala
2018-04-20  1:42 ` [PATCH v7 net-next 4/4] netvsc: refactor notifier/event handling code to use the failover framework Sridhar Samudrala
     [not found] ` <1524188524-28411-4-git-send-email-sridhar.samudrala@intel.com>
2018-04-20  2:46   ` [PATCH v7 net-next 3/4] virtio_net: Extend virtio to use VF datapath when available Michael S. Tsirkin
2018-04-22 15:41   ` kbuild test robot
2018-04-22 15:41   ` kbuild test robot
     [not found] ` <1524188524-28411-5-git-send-email-sridhar.samudrala@intel.com>
2018-04-20 15:28   ` [PATCH v7 net-next 4/4] netvsc: refactor notifier/event handling code to use the failover framework Stephen Hemminger
     [not found]   ` <20180420082802.6ca37e4c@xeon-e3>
2018-04-20 15:43     ` Michael S. Tsirkin
2018-04-20 15:46     ` David Miller
2018-04-20 15:46     ` Samudrala, Sridhar
     [not found]     ` <20180420183505-mutt-send-email-mst@kernel.org>
2018-04-20 15:47       ` David Miller
2018-04-20 16:00     ` Jiri Pirko
     [not found]     ` <20180420160058.GB2150@nanopsycho.orion>
2018-04-23 17:04       ` Stephen Hemminger
     [not found]       ` <20180423100406.71b95f74@xeon-e3>
2018-04-23 17:24         ` Michael S. Tsirkin
2018-04-23 17:25         ` Jiri Pirko
     [not found]         ` <20180423202204-mutt-send-email-mst@kernel.org>
2018-04-23 17:44           ` Stephen Hemminger
     [not found]           ` <20180423104440.2fe6cfd2@xeon-e3>
2018-04-23 17:56             ` Michael S. Tsirkin
     [not found]             ` <20180423205019-mutt-send-email-mst@kernel.org>
2018-04-23 19:44               ` Siwei Liu
     [not found]               ` <CADGSJ20ge75T+ddxtUBT4d9m1i3=HLOAHJEoS7Cg0bqnXrutwA@mail.gmail.com>
2018-04-23 20:06                 ` Michael S. Tsirkin
2018-04-24  1:25                 ` Stephen Hemminger
     [not found]                 ` <20180423230037-mutt-send-email-mst@kernel.org>
2018-04-24  1:28                   ` Stephen Hemminger
2018-04-25 21:38                   ` Siwei Liu
2018-04-25 22:22                     ` Michael S. Tsirkin
     [not found]                     ` <20180426011221-mutt-send-email-mst@kernel.org>
2018-04-25 22:57                       ` Siwei Liu
     [not found]                       ` <CADGSJ20vck5V8JCoF0Tq9PWfBu7QYPDvg0yAZ_8Xkig7TKU7Lw@mail.gmail.com>
2018-04-26  0:18                         ` Stephen Hemminger
2018-04-26  2:28                         ` Michael S. Tsirkin
     [not found]                         ` <20180425171831.785f412b@xeon-e3>
2018-04-26  2:43                           ` Michael S. Tsirkin
     [not found]                         ` <20180426050934-mutt-send-email-mst@kernel.org>
2018-04-26 22:14                           ` Siwei Liu
     [not found]                           ` <CADGSJ22D=NTWtjVeLKsgvcesy0b_ugzb9XGHGsWOktUEFhYN_Q@mail.gmail.com>
2018-04-26 23:42                             ` Michael S. Tsirkin
     [not found]                             ` <20180427012530-mutt-send-email-mst@kernel.org>
2018-04-28  0:43                               ` Siwei Liu
     [not found]                 ` <20180423182503.353180c9@xeon-e3>
2018-04-24  1:42                   ` Michael S. Tsirkin
     [not found]                   ` <20180424043042-mutt-send-email-mst@kernel.org>
2018-04-24  5:07                     ` Stephen Hemminger
2018-04-22 15:41   ` kbuild test robot [this message]
     [not found] ` <1524188524-28411-3-git-send-email-sridhar.samudrala@intel.com>
2018-04-20  2:44   ` [PATCH v7 net-next 2/4] net: Introduce generic failover module Michael S. Tsirkin
2018-04-20  3:34   ` Michael S. Tsirkin
     [not found]   ` <20180420045657-mutt-send-email-mst@kernel.org>
2018-04-20 15:21     ` Samudrala, Sridhar
     [not found]     ` <d1bf0771-751b-85bc-4890-8232283131a2@intel.com>
2018-04-20 15:34       ` Michael S. Tsirkin
     [not found]       ` <20180420183021-mutt-send-email-mst@kernel.org>
2018-04-20 15:56         ` [virtio-dev] " Alexander Duyck
     [not found]         ` <CAKgT0UeQTx7zJPK3K3eM9xxHfVyHXwJ-G_b8eqGn0bWAyt9aAg@mail.gmail.com>
2018-04-20 16:03           ` Michael S. Tsirkin
2018-04-22 17:06   ` Michael S. Tsirkin
2018-04-22 18:29   ` kbuild test robot
     [not found]   ` <20180422200259-mutt-send-email-mst@kernel.org>
2018-04-23 17:21     ` Samudrala, Sridhar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201804222244.mPr5M9Mf%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=alexander.h.duyck@intel.com \
    --cc=davem@davemloft.net \
    --cc=jiri@resnulli.us \
    --cc=kbuild-all@01.org \
    --cc=kubakici@wp.pl \
    --cc=loseweigh@gmail.com \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=sridhar.samudrala@intel.com \
    --cc=virtio-dev@lists.oasis-open.org \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox