lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Sun, 26 Jul 2020 07:36:52 +0800
From:   kernel test robot <lkp@...el.com>
To:     Andre Edich <andre.edich@...rochip.com>, netdev@...r.kernel.org,
        UNGLinuxDriver@...rochip.com, steve.glendinning@...well.net
Cc:     kbuild-all@...ts.01.org, Parthiban.Veerasooran@...rochip.com,
        Andre Edich <andre.edich@...rochip.com>
Subject: Re: [PATCH net-next v2 6/6] smsc95xx: use PHY framework instead of
 MII library

Hi Andre,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net-next/master]

url:    https://github.com/0day-ci/linux/commits/Andre-Edich/Add-PAL-support-to-smsc95xx/20200723-195824
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 7fc3b978a8971305d456b32d3f2ac13191f5a0d7
config: x86_64-randconfig-a016-20200724 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce (this is a W=1 build):
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

   ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_disconnect_phy':
   drivers/net/usb/smsc95xx.c:1320: undefined reference to `phy_stop'
   ld: drivers/net/usb/smsc95xx.c:1321: undefined reference to `phy_disconnect'
   ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_unbind':
   drivers/net/usb/smsc95xx.c:1284: undefined reference to `mdiobus_unregister'
   ld: drivers/net/usb/smsc95xx.c:1285: undefined reference to `mdiobus_free'
   ld: drivers/net/usb/smsc95xx.o: in function `phy_read':
   include/linux/phy.h:804: undefined reference to `mdiobus_read'
   ld: drivers/net/usb/smsc95xx.o: in function `phy_write':
   include/linux/phy.h:844: undefined reference to `mdiobus_write'
   ld: drivers/net/usb/smsc95xx.o: in function `phy_read':
   include/linux/phy.h:804: undefined reference to `mdiobus_read'
   ld: drivers/net/usb/smsc95xx.o: in function `phy_write':
   include/linux/phy.h:844: undefined reference to `mdiobus_write'
   ld: drivers/net/usb/smsc95xx.o: in function `phy_read':
   include/linux/phy.h:804: undefined reference to `mdiobus_read'
   ld: drivers/net/usb/smsc95xx.o: in function `phy_write':
   include/linux/phy.h:844: undefined reference to `mdiobus_write'
   ld: drivers/net/usb/smsc95xx.o: in function `phy_read':
   include/linux/phy.h:804: undefined reference to `mdiobus_read'
   ld: drivers/net/usb/smsc95xx.o: in function `phy_write':
   include/linux/phy.h:844: undefined reference to `mdiobus_write'
   ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_get_link_ksettings':
>> drivers/net/usb/smsc95xx.c:815: undefined reference to `phy_ethtool_get_link_ksettings'
   ld: drivers/net/usb/smsc95xx.o: in function `phy_read_status':
>> include/linux/phy.h:1402: undefined reference to `genphy_read_status'
   ld: drivers/net/usb/smsc95xx.o: in function `phy_read':
   include/linux/phy.h:804: undefined reference to `mdiobus_read'
   ld: drivers/net/usb/smsc95xx.o: in function `phy_write':
   include/linux/phy.h:844: undefined reference to `mdiobus_write'
   ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_link_reset':
>> drivers/net/usb/smsc95xx.c:582: undefined reference to `phy_ethtool_ksettings_get'
   ld: drivers/net/usb/smsc95xx.o: in function `phy_read':
   include/linux/phy.h:804: undefined reference to `mdiobus_read'
   ld: include/linux/phy.h:804: undefined reference to `mdiobus_read'
   ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_start_phy':
   drivers/net/usb/smsc95xx.c:1305: undefined reference to `phy_connect_direct'
   ld: drivers/net/usb/smsc95xx.c:1313: undefined reference to `phy_attached_info'
   ld: drivers/net/usb/smsc95xx.c:1314: undefined reference to `phy_start'
   ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_resume':
   drivers/net/usb/smsc95xx.c:1869: undefined reference to `phy_init_hw'
   ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_handle_link_change':
   drivers/net/usb/smsc95xx.c:1292: undefined reference to `phy_print_status'
   ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_set_link_ksettings':
>> drivers/net/usb/smsc95xx.c:832: undefined reference to `phy_ethtool_set_link_ksettings'
   ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_ioctl':
>> drivers/net/usb/smsc95xx.c:864: undefined reference to `phy_mii_ioctl'
>> ld: drivers/net/usb/smsc95xx.o:(.rodata+0x22e0): undefined reference to `phy_ethtool_nway_reset'
   ld: drivers/net/usb/smsc95xx.o: in function `mdiobus_alloc':
   include/linux/phy.h:318: undefined reference to `mdiobus_alloc_size'
   ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_bind':
   drivers/net/usb/smsc95xx.c:1229: undefined reference to `__mdiobus_register'
   ld: drivers/net/usb/smsc95xx.c:1235: undefined reference to `phy_find_first'
   ld: drivers/net/usb/smsc95xx.o: in function `phy_read':
   include/linux/phy.h:804: undefined reference to `mdiobus_read'
   ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_bind':
   drivers/net/usb/smsc95xx.c:1270: undefined reference to `mdiobus_unregister'
   ld: drivers/net/usb/smsc95xx.c:1273: undefined reference to `mdiobus_free'

vim +815 drivers/net/usb/smsc95xx.c

   807	
   808	static int smsc95xx_get_link_ksettings(struct net_device *net,
   809					       struct ethtool_link_ksettings *cmd)
   810	{
   811		struct usbnet *dev = netdev_priv(net);
   812		struct smsc95xx_priv *pdata = dev->driver_priv;
   813		int retval;
   814	
 > 815		retval = phy_ethtool_get_link_ksettings(net, cmd);
   816		if (pdata->internal_phy) {
   817			cmd->base.eth_tp_mdix = pdata->mdix_ctrl;
   818			cmd->base.eth_tp_mdix_ctrl = pdata->mdix_ctrl;
   819		}
   820		return retval;
   821	}
   822	
   823	static int smsc95xx_set_link_ksettings(struct net_device *net,
   824					       const struct ethtool_link_ksettings *cmd)
   825	{
   826		struct usbnet *dev = netdev_priv(net);
   827		struct smsc95xx_priv *pdata = dev->driver_priv;
   828		u8 mdix_ctrl = cmd->base.eth_tp_mdix_ctrl;
   829	
   830		if (pdata->mdix_ctrl != mdix_ctrl && pdata->internal_phy)
   831			set_mdix_status(net, mdix_ctrl);
 > 832		return phy_ethtool_set_link_ksettings(net, cmd);
   833	}
   834	
   835	static u32 smsc95xx_get_link(struct net_device *net)
   836	{
   837		phy_read_status(net->phydev);
   838		return net->phydev->link;
   839	}
   840	
   841	static const struct ethtool_ops smsc95xx_ethtool_ops = {
   842		.get_link	= smsc95xx_get_link,
   843		.nway_reset	= phy_ethtool_nway_reset,
   844		.get_drvinfo	= usbnet_get_drvinfo,
   845		.get_msglevel	= usbnet_get_msglevel,
   846		.set_msglevel	= usbnet_set_msglevel,
   847		.get_eeprom_len	= smsc95xx_ethtool_get_eeprom_len,
   848		.get_eeprom	= smsc95xx_ethtool_get_eeprom,
   849		.set_eeprom	= smsc95xx_ethtool_set_eeprom,
   850		.get_regs_len	= smsc95xx_ethtool_getregslen,
   851		.get_regs	= smsc95xx_ethtool_getregs,
   852		.get_wol	= smsc95xx_ethtool_get_wol,
   853		.set_wol	= smsc95xx_ethtool_set_wol,
   854		.get_link_ksettings	= smsc95xx_get_link_ksettings,
   855		.set_link_ksettings	= smsc95xx_set_link_ksettings,
   856		.get_ts_info	= ethtool_op_get_ts_info,
   857	};
   858	
   859	static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
   860	{
   861		if (!netif_running(netdev))
   862			return -EINVAL;
   863	
 > 864		return phy_mii_ioctl(netdev->phydev, rq, cmd);
   865	}
   866	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (38364 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ