All of lore.kernel.org
 help / color / mirror / Atom feed
* [netdev-net:master 13/24] drivers/net/ethernet/microchip/lan743x_main.c:1030:6: warning: variable 'phydev' is used uninitialized whenever 'if' condition is false
@ 2020-11-12  3:55 kernel test robot
  2020-11-12 14:39 ` Sven Van Asbroeck
  0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2020-11-12  3:55 UTC (permalink / raw)
  To: kbuild-all

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

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git master
head:   52755b66ddcef2e897778fac5656df18817b59ab
commit: 902a66e08ceaadb9a7a1ab3a4f3af611cd1d8cba [13/24] lan743x: correctly handle chips with internal PHY
config: x86_64-randconfig-r034-20201111 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project a719eef73ec447b2c5fc8b70f69564a2e0f78e1e)
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
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=902a66e08ceaadb9a7a1ab3a4f3af611cd1d8cba
        git remote add netdev-net git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
        git fetch --no-tags netdev-net master
        git checkout 902a66e08ceaadb9a7a1ab3a4f3af611cd1d8cba
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

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

All warnings (new ones prefixed by >>):

>> drivers/net/ethernet/microchip/lan743x_main.c:1030:6: warning: variable 'phydev' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
           if (phynode) {
               ^~~~~~~
   drivers/net/ethernet/microchip/lan743x_main.c:1049:7: note: uninitialized use occurs here
           if (!phydev) {
                ^~~~~~
   drivers/net/ethernet/microchip/lan743x_main.c:1030:2: note: remove the 'if' if its condition is always true
           if (phynode) {
           ^~~~~~~~~~~~~
   drivers/net/ethernet/microchip/lan743x_main.c:1023:27: note: initialize the variable 'phydev' to silence this warning
           struct phy_device *phydev;
                                    ^
                                     = NULL
   1 warning generated.

vim +1030 drivers/net/ethernet/microchip/lan743x_main.c

23f0703c125be49 Bryan Whitehead   2018-03-05  1018  
23f0703c125be49 Bryan Whitehead   2018-03-05  1019  static int lan743x_phy_open(struct lan743x_adapter *adapter)
23f0703c125be49 Bryan Whitehead   2018-03-05  1020  {
23f0703c125be49 Bryan Whitehead   2018-03-05  1021  	struct lan743x_phy *phy = &adapter->phy;
6f197fb63850b26 Roelof Berg       2020-05-29  1022  	struct device_node *phynode;
23f0703c125be49 Bryan Whitehead   2018-03-05  1023  	struct phy_device *phydev;
23f0703c125be49 Bryan Whitehead   2018-03-05  1024  	struct net_device *netdev;
23f0703c125be49 Bryan Whitehead   2018-03-05  1025  	int ret = -EIO;
23f0703c125be49 Bryan Whitehead   2018-03-05  1026  
23f0703c125be49 Bryan Whitehead   2018-03-05  1027  	netdev = adapter->netdev;
6f197fb63850b26 Roelof Berg       2020-05-29  1028  	phynode = of_node_get(adapter->pdev->dev.of_node);
6f197fb63850b26 Roelof Berg       2020-05-29  1029  
6f197fb63850b26 Roelof Berg       2020-05-29 @1030  	if (phynode) {
902a66e08ceaadb Sven Van Asbroeck 2020-11-08  1031  		/* try devicetree phy, or fixed link */
6f197fb63850b26 Roelof Berg       2020-05-29  1032  		of_get_phy_mode(phynode, &adapter->phy_mode);
6f197fb63850b26 Roelof Berg       2020-05-29  1033  
6f197fb63850b26 Roelof Berg       2020-05-29  1034  		if (of_phy_is_fixed_link(phynode)) {
6f197fb63850b26 Roelof Berg       2020-05-29  1035  			ret = of_phy_register_fixed_link(phynode);
6f197fb63850b26 Roelof Berg       2020-05-29  1036  			if (ret) {
6f197fb63850b26 Roelof Berg       2020-05-29  1037  				netdev_err(netdev,
6f197fb63850b26 Roelof Berg       2020-05-29  1038  					   "cannot register fixed PHY\n");
6f197fb63850b26 Roelof Berg       2020-05-29  1039  				of_node_put(phynode);
6f197fb63850b26 Roelof Berg       2020-05-29  1040  				goto return_error;
6f197fb63850b26 Roelof Berg       2020-05-29  1041  			}
6f197fb63850b26 Roelof Berg       2020-05-29  1042  		}
6f197fb63850b26 Roelof Berg       2020-05-29  1043  		phydev = of_phy_connect(netdev, phynode,
6f197fb63850b26 Roelof Berg       2020-05-29  1044  					lan743x_phy_link_status_change, 0,
6f197fb63850b26 Roelof Berg       2020-05-29  1045  					adapter->phy_mode);
6f197fb63850b26 Roelof Berg       2020-05-29  1046  		of_node_put(phynode);
902a66e08ceaadb Sven Van Asbroeck 2020-11-08  1047  	}
902a66e08ceaadb Sven Van Asbroeck 2020-11-08  1048  
902a66e08ceaadb Sven Van Asbroeck 2020-11-08  1049  	if (!phydev) {
902a66e08ceaadb Sven Van Asbroeck 2020-11-08  1050  		/* try internal phy */
23f0703c125be49 Bryan Whitehead   2018-03-05  1051  		phydev = phy_find_first(adapter->mdiobus);
23f0703c125be49 Bryan Whitehead   2018-03-05  1052  		if (!phydev)
23f0703c125be49 Bryan Whitehead   2018-03-05  1053  			goto return_error;
23f0703c125be49 Bryan Whitehead   2018-03-05  1054  
902a66e08ceaadb Sven Van Asbroeck 2020-11-08  1055  		adapter->phy_mode = PHY_INTERFACE_MODE_GMII;
23f0703c125be49 Bryan Whitehead   2018-03-05  1056  		ret = phy_connect_direct(netdev, phydev,
23f0703c125be49 Bryan Whitehead   2018-03-05  1057  					 lan743x_phy_link_status_change,
6f197fb63850b26 Roelof Berg       2020-05-29  1058  					 adapter->phy_mode);
23f0703c125be49 Bryan Whitehead   2018-03-05  1059  		if (ret)
23f0703c125be49 Bryan Whitehead   2018-03-05  1060  			goto return_error;
6f197fb63850b26 Roelof Berg       2020-05-29  1061  	}
23f0703c125be49 Bryan Whitehead   2018-03-05  1062  
23f0703c125be49 Bryan Whitehead   2018-03-05  1063  	/* MAC doesn't support 1000T Half */
41124fa64d4b298 Andrew Lunn       2018-09-12  1064  	phy_remove_link_mode(phydev, ETHTOOL_LINK_MODE_1000baseT_Half_BIT);
23f0703c125be49 Bryan Whitehead   2018-03-05  1065  
23f0703c125be49 Bryan Whitehead   2018-03-05  1066  	/* support both flow controls */
af8d9bb2f2f405a Andrew Lunn       2018-09-12  1067  	phy_support_asym_pause(phydev);
23f0703c125be49 Bryan Whitehead   2018-03-05  1068  	phy->fc_request_control = (FLOW_CTRL_RX | FLOW_CTRL_TX);
23f0703c125be49 Bryan Whitehead   2018-03-05  1069  	phy->fc_autoneg = phydev->autoneg;
23f0703c125be49 Bryan Whitehead   2018-03-05  1070  
23f0703c125be49 Bryan Whitehead   2018-03-05  1071  	phy_start(phydev);
23f0703c125be49 Bryan Whitehead   2018-03-05  1072  	phy_start_aneg(phydev);
23f0703c125be49 Bryan Whitehead   2018-03-05  1073  	return 0;
23f0703c125be49 Bryan Whitehead   2018-03-05  1074  
23f0703c125be49 Bryan Whitehead   2018-03-05  1075  return_error:
23f0703c125be49 Bryan Whitehead   2018-03-05  1076  	return ret;
23f0703c125be49 Bryan Whitehead   2018-03-05  1077  }
23f0703c125be49 Bryan Whitehead   2018-03-05  1078  

:::::: The code at line 1030 was first introduced by commit
:::::: 6f197fb63850b26ef8f70f1bfe5900e377910a5a lan743x: Added fixed link and RGMII support

:::::: TO: Roelof Berg <rberg@berg-solutions.de>
:::::: 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: 33934 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [netdev-net:master 13/24] drivers/net/ethernet/microchip/lan743x_main.c:1030:6: warning: variable 'phydev' is used uninitialized whenever 'if' condition is false
  2020-11-12  3:55 [netdev-net:master 13/24] drivers/net/ethernet/microchip/lan743x_main.c:1030:6: warning: variable 'phydev' is used uninitialized whenever 'if' condition is false kernel test robot
@ 2020-11-12 14:39 ` Sven Van Asbroeck
  0 siblings, 0 replies; 2+ messages in thread
From: Sven Van Asbroeck @ 2020-11-12 14:39 UTC (permalink / raw)
  To: kbuild-all

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

This definitely is no false positive. I'll submit a fix to net soon.

On Wed, Nov 11, 2020 at 10:56 PM kernel test robot <lkp@intel.com> wrote:
>
> >> drivers/net/ethernet/microchip/lan743x_main.c:1030:6: warning: variable 'phydev' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-11-12 14:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-12  3:55 [netdev-net:master 13/24] drivers/net/ethernet/microchip/lan743x_main.c:1030:6: warning: variable 'phydev' is used uninitialized whenever 'if' condition is false kernel test robot
2020-11-12 14:39 ` Sven Van Asbroeck

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.