kbuild test robot <l...@intel.com> writes:

> Hi,
>
> [auto build test ERROR on next-20160602]
>
> url:    
> https://github.com/0day-ci/linux/commits/Aaron-Conole/virtio-net-Advised-MTU-feature/20160603-000714
> config: i386-allmodconfig (attached as .config)
> compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430
> reproduce:
>         # save the attached .config to linux build tree
>         make ARCH=i386 
>
> Note: the 
> linux-review/Aaron-Conole/virtio-net-Advised-MTU-feature/20160603-000714 HEAD 
> d909da4df3c52f78b4f5fcccd89aea5e38722d10 builds fine.
>       It only hurts bisectibility.
>
> All errors (new ones prefixed by >>):
>
>    drivers/net/virtio_net.c: In function 'virtnet_probe':
>>> drivers/net/virtio_net.c:1899:31: error: 'VIRTIO_NET_F_MTU'
>>> undeclared (first use in this function)
>      if (virtio_has_feature(vdev, VIRTIO_NET_F_MTU)) {
>                                   ^~~~~~~~~~~~~~~~
>    drivers/net/virtio_net.c:1899:31: note: each undeclared identifier is 
> reported only once for each function it appears in
>    drivers/net/virtio_net.c: At top level:
>>> drivers/net/virtio_net.c:2076:2: error: 'VIRTIO_NET_F_MTU'
>>> undeclared here (not in a function)
>      VIRTIO_NET_F_MTU,
>      ^~~~~~~~~~~~~~~~

Oops, hunk was dropped during rebase.  Sorry for this, v2 will fix this
error, as well and I'll do a boot test before submission.

Thanks kbuild robot!

> vim +/VIRTIO_NET_F_MTU +1899 drivers/net/virtio_net.c
>
>   1893                    virtio_has_feature(vdev, VIRTIO_F_VERSION_1))
>   1894                        vi->any_header_sg = true;
>   1895        
>   1896                if (virtio_has_feature(vdev, VIRTIO_NET_F_CTRL_VQ))
>   1897                        vi->has_cvq = true;
>   1898        
>> 1899         if (virtio_has_feature(vdev, VIRTIO_NET_F_MTU)) {
>   1900                        dev->mtu = virtio_cread16(vdev,
>   1901 offsetof(struct virtio_net_config,
>   1902                                                           mtu));
>   1903                }
>   1904        
>   1905                if (vi->any_header_sg)
>   1906                        dev->needed_headroom = vi->hdr_len;
>   1907        
>   1908                /* Use single tx/rx queue pair as default */
>   1909                vi->curr_queue_pairs = 1;
>   1910                vi->max_queue_pairs = max_queue_pairs;
>   1911        
>   1912                /* Allocate/initialize the rx/tx queues, and invoke 
> find_vqs */
>   1913                err = init_vqs(vi);
>   1914                if (err)
>   1915                        goto free_stats;
>   1916        
>   1917        #ifdef CONFIG_SYSFS
>   1918                if (vi->mergeable_rx_bufs)
>   1919                        dev->sysfs_rx_queue_group = 
> &virtio_net_mrg_rx_group;
>   1920        #endif
>   1921                netif_set_real_num_tx_queues(dev, vi->curr_queue_pairs);
>   1922                netif_set_real_num_rx_queues(dev, vi->curr_queue_pairs);
>   1923        
>   1924                virtnet_init_settings(dev);
>   1925        
>   1926                err = register_netdev(dev);
>   1927                if (err) {
>   1928                        pr_debug("virtio_net: registering device 
> failed\n");
>   1929                        goto free_vqs;
>   1930                }
>   1931        
>   1932                virtio_device_ready(vdev);
>   1933        
>   1934                vi->nb.notifier_call = &virtnet_cpu_callback;
>   1935                err = register_hotcpu_notifier(&vi->nb);
>   1936                if (err) {
>   1937                        pr_debug("virtio_net: registering cpu notifier 
> failed\n");
>   1938                        goto free_unregister_netdev;
>   1939                }
>   1940        
>   1941                /* Assume link up if device can't report link status,
>   1942                   otherwise get link status from config. */
>   1943                if (virtio_has_feature(vi->vdev, VIRTIO_NET_F_STATUS)) {
>   1944                        netif_carrier_off(dev);
>   1945                        schedule_work(&vi->config_work);
>   1946                } else {
>   1947                        vi->status = VIRTIO_NET_S_LINK_UP;
>   1948                        netif_carrier_on(dev);
>   1949                }
>   1950        
>   1951                pr_debug("virtnet: registered device %s with %d RX and 
> TX vq's\n",
>   1952                         dev->name, max_queue_pairs);
>   1953        
>   1954                return 0;
>   1955        
>   1956        free_unregister_netdev:
>   1957                vi->vdev->config->reset(vdev);
>   1958        
>   1959                unregister_netdev(dev);
>   1960        free_vqs:
>   1961                cancel_delayed_work_sync(&vi->refill);
>   1962                free_receive_page_frags(vi);
>   1963                virtnet_del_vqs(vi);
>   1964        free_stats:
>   1965                free_percpu(vi->stats);
>   1966        free:
>   1967                free_netdev(dev);
>   1968                return err;
>   1969        }
>   1970        
>   1971        static void remove_vq_common(struct virtnet_info *vi)
>   1972        {
>   1973                vi->vdev->config->reset(vi->vdev);
>   1974        
>   1975                /* Free unused buffers in both send and recv, if any. */
>   1976                free_unused_bufs(vi);
>   1977        
>   1978                free_receive_bufs(vi);
>   1979        
>   1980                free_receive_page_frags(vi);
>   1981        
>   1982                virtnet_del_vqs(vi);
>   1983        }
>   1984        
>   1985        static void virtnet_remove(struct virtio_device *vdev)
>   1986        {
>   1987                struct virtnet_info *vi = vdev->priv;
>   1988        
>   1989                unregister_hotcpu_notifier(&vi->nb);
>   1990        
>   1991                /* Make sure no work handler is accessing the device. */
>   1992                flush_work(&vi->config_work);
>   1993        
>   1994                unregister_netdev(vi->dev);
>   1995        
>   1996                remove_vq_common(vi);
>   1997        
>   1998                free_percpu(vi->stats);
>   1999                free_netdev(vi->dev);
>   2000        }
>   2001        
>   2002        #ifdef CONFIG_PM_SLEEP
>   2003        static int virtnet_freeze(struct virtio_device *vdev)
>   2004        {
>   2005                struct virtnet_info *vi = vdev->priv;
>   2006                int i;
>   2007        
>   2008                unregister_hotcpu_notifier(&vi->nb);
>   2009        
>   2010                /* Make sure no work handler is accessing the device */
>   2011                flush_work(&vi->config_work);
>   2012        
>   2013                netif_device_detach(vi->dev);
>   2014                cancel_delayed_work_sync(&vi->refill);
>   2015        
>   2016                if (netif_running(vi->dev)) {
>   2017                        for (i = 0; i < vi->max_queue_pairs; i++)
>   2018                                napi_disable(&vi->rq[i].napi);
>   2019                }
>   2020        
>   2021                remove_vq_common(vi);
>   2022        
>   2023                return 0;
>   2024        }
>   2025        
>   2026        static int virtnet_restore(struct virtio_device *vdev)
>   2027        {
>   2028                struct virtnet_info *vi = vdev->priv;
>   2029                int err, i;
>   2030        
>   2031                err = init_vqs(vi);
>   2032                if (err)
>   2033                        return err;
>   2034        
>   2035                virtio_device_ready(vdev);
>   2036        
>   2037                if (netif_running(vi->dev)) {
>   2038                        for (i = 0; i < vi->curr_queue_pairs; i++)
>   2039                                if (!try_fill_recv(vi, &vi->rq[i], 
> GFP_KERNEL))
>   2040                                        
> schedule_delayed_work(&vi->refill, 0);
>   2041        
>   2042                        for (i = 0; i < vi->max_queue_pairs; i++)
>   2043                                virtnet_napi_enable(&vi->rq[i]);
>   2044                }
>   2045        
>   2046                netif_device_attach(vi->dev);
>   2047        
>   2048                rtnl_lock();
>   2049                virtnet_set_queues(vi, vi->curr_queue_pairs);
>   2050                rtnl_unlock();
>   2051        
>   2052                err = register_hotcpu_notifier(&vi->nb);
>   2053                if (err)
>   2054                        return err;
>   2055        
>   2056                return 0;
>   2057        }
>   2058        #endif
>   2059        
>   2060        static struct virtio_device_id id_table[] = {
>   2061                { VIRTIO_ID_NET, VIRTIO_DEV_ANY_ID },
>   2062                { 0 },
>   2063        };
>   2064        
>   2065        static unsigned int features[] = {
>   2066                VIRTIO_NET_F_CSUM, VIRTIO_NET_F_GUEST_CSUM,
>   2067                VIRTIO_NET_F_GSO, VIRTIO_NET_F_MAC,
>   2068 VIRTIO_NET_F_HOST_TSO4, VIRTIO_NET_F_HOST_UFO,
> VIRTIO_NET_F_HOST_TSO6,
>   2069 VIRTIO_NET_F_HOST_ECN, VIRTIO_NET_F_GUEST_TSO4,
> VIRTIO_NET_F_GUEST_TSO6,
>   2070                VIRTIO_NET_F_GUEST_ECN, VIRTIO_NET_F_GUEST_UFO,
>   2071                VIRTIO_NET_F_MRG_RXBUF, VIRTIO_NET_F_STATUS, 
> VIRTIO_NET_F_CTRL_VQ,
>   2072                VIRTIO_NET_F_CTRL_RX, VIRTIO_NET_F_CTRL_VLAN,
>   2073                VIRTIO_NET_F_GUEST_ANNOUNCE, VIRTIO_NET_F_MQ,
>   2074                VIRTIO_NET_F_CTRL_MAC_ADDR,
>   2075                VIRTIO_F_ANY_LAYOUT,
>> 2076         VIRTIO_NET_F_MTU,
>   2077        };
>   2078        
>   2079        static struct virtio_driver virtio_net_driver = {
>
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Reply via email to