Hi Antoine,

url:    
https://github.com/0day-ci/linux/commits/Antoine-Tenart/net-phy-mscc-PHC-and-timestamping-support/20200623-223712
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 
8af7b4525acf5012b2f111a8b168b8647f2c8d60
config: x86_64-randconfig-m001-20200624 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>
Reported-by: Dan Carpenter <dan.carpen...@oracle.com>

smatch warnings:
drivers/net/phy/mscc/mscc_main.c:1472 vsc8584_config_init() error: double 
unlocked 'phydev->mdio.bus->mdio_lock' (orig line 1431)
drivers/net/phy/mscc/mscc_ptp.c:87 vsc85xx_ts_read_csr() error: uninitialized 
symbol 'blk_hw'.

# 
https://github.com/0day-ci/linux/commit/b3225965b276bd4f492184090bbac3a117bc77ae
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout b3225965b276bd4f492184090bbac3a117bc77ae
vim +1472 drivers/net/phy/mscc/mscc_main.c

a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1326  static int vsc8584_config_init(struct phy_device *phydev)
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1327  {
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1328      struct vsc8531_private *vsc8531 = phydev->priv;
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1329      int ret, i;
deb04e9c0ff2b4 drivers/net/phy/mscc/mscc_main.c Michael Walle     2020-05-06  
1330      u16 val;
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1331  
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1332      phydev->mdix_ctrl = ETH_TP_MDI_AUTO;
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1333  
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1334      mutex_lock(&phydev->mdio.bus->mdio_lock);
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1335  
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1336      /* Some parts of the init sequence are identical for every PHY in the
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1337       * package. Some parts are modifying the GPIO register bank which is a
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1338       * set of registers that are affecting all PHYs, a few resetting the
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1339       * microprocessor common to all PHYs. The CRC check responsible of the
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1340       * checking the firmware within the 8051 microprocessor can only be
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1341       * accessed via the PHY whose internal address in the package is 0.
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1342       * All PHYs' interrupts mask register has to be zeroed before enabling
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1343       * any PHY's interrupt in this register.
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1344       * For all these reasons, we need to do the init sequence once and 
only
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1345       * once whatever is the first PHY in the package that is initialized 
and
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1346       * do the correct init sequence for all PHYs that are package-critical
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1347       * in this pre-init function.
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1348       */
deb04e9c0ff2b4 drivers/net/phy/mscc/mscc_main.c Michael Walle     2020-05-06  
1349      if (phy_package_init_once(phydev)) {
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1350              /* The following switch statement assumes that the lowest
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1351               * nibble of the phy_id_mask is always 0. This works because
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1352               * the lowest nibble of the PHY_ID's below are also 0.
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1353               */
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1354              WARN_ON(phydev->drv->phy_id_mask & 0xf);
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1355  
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1356              switch (phydev->phy_id & phydev->drv->phy_id_mask) {
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1357              case PHY_ID_VSC8504:
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1358              case PHY_ID_VSC8552:
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1359              case PHY_ID_VSC8572:
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1360              case PHY_ID_VSC8574:
00d70d8e0e7811 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1361                      ret = vsc8574_config_pre_init(phydev);
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1362                      break;
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1363              case PHY_ID_VSC856X:
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1364              case PHY_ID_VSC8575:
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1365              case PHY_ID_VSC8582:
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1366              case PHY_ID_VSC8584:
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1367                      ret = vsc8584_config_pre_init(phydev);
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1368                      break;
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1369              default:
00d70d8e0e7811 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1370                      ret = -EINVAL;
75a1ccfe6c726b drivers/net/phy/mscc.c           Bryan Whitehead   2019-11-13  
1371                      break;
1e8795b1b20d27 drivers/net/phy/mscc.c           kbuild test robot 2019-11-16  
1372              }
00d70d8e0e7811 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1373  
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1374              if (ret)
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1375                      goto err;
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1376      }
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1377  
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1378      phy_base_write(phydev, MSCC_EXT_PAGE_ACCESS,
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1379                     MSCC_PHY_PAGE_EXTENDED_GPIO);
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1380  
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1381      val = phy_base_read(phydev, MSCC_PHY_MAC_CFG_FASTLINK);
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1382      val &= ~MAC_CFG_MASK;
e8e4223046e19d drivers/net/phy/mscc/mscc_main.c Antoine Tenart    2020-03-19  
1383      if (phydev->interface == PHY_INTERFACE_MODE_QSGMII) {
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1384              val |= MAC_CFG_QSGMII;
e8e4223046e19d drivers/net/phy/mscc/mscc_main.c Antoine Tenart    2020-03-19  
1385      } else if (phydev->interface == PHY_INTERFACE_MODE_SGMII) {
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1386              val |= MAC_CFG_SGMII;
e8e4223046e19d drivers/net/phy/mscc/mscc_main.c Antoine Tenart    2020-03-19  
1387      } else if (phy_interface_is_rgmii(phydev)) {
e8e4223046e19d drivers/net/phy/mscc/mscc_main.c Antoine Tenart    2020-03-19  
1388              val |= MAC_CFG_RGMII;
e8e4223046e19d drivers/net/phy/mscc/mscc_main.c Antoine Tenart    2020-03-19  
1389      } else {
e8e4223046e19d drivers/net/phy/mscc/mscc_main.c Antoine Tenart    2020-03-19  
1390              ret = -EINVAL;
e8e4223046e19d drivers/net/phy/mscc/mscc_main.c Antoine Tenart    2020-03-19  
1391              goto err;
e8e4223046e19d drivers/net/phy/mscc/mscc_main.c Antoine Tenart    2020-03-19  
1392      }
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1393  
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1394      ret = phy_base_write(phydev, MSCC_PHY_MAC_CFG_FASTLINK, val);
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1395      if (ret)
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1396              goto err;
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1397  
e8e4223046e19d drivers/net/phy/mscc/mscc_main.c Antoine Tenart    2020-03-19  
1398      if (!phy_interface_is_rgmii(phydev)) {
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1399              val = PROC_CMD_MCB_ACCESS_MAC_CONF | PROC_CMD_RST_CONF_PORT |
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1400                      PROC_CMD_READ_MOD_WRITE_PORT;
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1401              if (phydev->interface == PHY_INTERFACE_MODE_QSGMII)
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1402                      val |= PROC_CMD_QSGMII_MAC;
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1403              else
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1404                      val |= PROC_CMD_SGMII_MAC;
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1405  
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1406              ret = vsc8584_cmd(phydev, val);
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1407              if (ret)
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1408                      goto err;
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1409  
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1410              usleep_range(10000, 20000);
e8e4223046e19d drivers/net/phy/mscc/mscc_main.c Antoine Tenart    2020-03-19  
1411      }
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1412  
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1413      /* Disable SerDes for 100Base-FX */
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1414      ret = vsc8584_cmd(phydev, PROC_CMD_FIBER_MEDIA_CONF |
49113d5e0c3f3f drivers/net/phy/mscc/mscc_main.c Antoine Tenart    2020-06-05  
1415                        PROC_CMD_FIBER_PORT(vsc8531->addr) |
deb04e9c0ff2b4 drivers/net/phy/mscc/mscc_main.c Michael Walle     2020-05-06  
1416                        PROC_CMD_FIBER_DISABLE |
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1417                        PROC_CMD_READ_MOD_WRITE_PORT |
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1418                        PROC_CMD_RST_CONF_PORT | PROC_CMD_FIBER_100BASE_FX);
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1419      if (ret)
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1420              goto err;
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1421  
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1422      /* Disable SerDes for 1000Base-X */
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1423      ret = vsc8584_cmd(phydev, PROC_CMD_FIBER_MEDIA_CONF |
49113d5e0c3f3f drivers/net/phy/mscc/mscc_main.c Antoine Tenart    2020-06-05  
1424                        PROC_CMD_FIBER_PORT(vsc8531->addr) |
deb04e9c0ff2b4 drivers/net/phy/mscc/mscc_main.c Michael Walle     2020-05-06  
1425                        PROC_CMD_FIBER_DISABLE |
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1426                        PROC_CMD_READ_MOD_WRITE_PORT |
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1427                        PROC_CMD_RST_CONF_PORT | PROC_CMD_FIBER_1000BASE_X);
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1428      if (ret)
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1429              goto err;
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1430  
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08 
@1431      mutex_unlock(&phydev->mdio.bus->mdio_lock);
                                                                                
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1432  
1bbe0ecc2a1a00 drivers/net/phy/mscc.c           Antoine Tenart    2020-01-13  
1433      ret = vsc8584_macsec_init(phydev);
1bbe0ecc2a1a00 drivers/net/phy/mscc.c           Antoine Tenart    2020-01-13  
1434      if (ret)
fa164e40c53b38 drivers/net/phy/mscc/mscc_main.c Antoine Tenart    2020-03-13  
1435              return ret;
1bbe0ecc2a1a00 drivers/net/phy/mscc.c           Antoine Tenart    2020-01-13  
1436  
b3225965b276bd drivers/net/phy/mscc/mscc_main.c Quentin Schulz    2020-06-23  
1437      ret = vsc8584_ptp_init(phydev);
b3225965b276bd drivers/net/phy/mscc/mscc_main.c Quentin Schulz    2020-06-23  
1438      if (ret)
b3225965b276bd drivers/net/phy/mscc/mscc_main.c Quentin Schulz    2020-06-23  
1439              goto err;
                                                                                
                ^^^^^^^^
This should be a direct return.


b3225965b276bd drivers/net/phy/mscc/mscc_main.c Quentin Schulz    2020-06-23  
1440  
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1441      phy_write(phydev, MSCC_EXT_PAGE_ACCESS, MSCC_PHY_PAGE_STANDARD);
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1442  
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1443      val = phy_read(phydev, MSCC_PHY_EXT_PHY_CNTL_1);
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1444      val &= ~(MEDIA_OP_MODE_MASK | VSC8584_MAC_IF_SELECTION_MASK);
1ac7b090ec4618 drivers/net/phy/mscc.c           Antoine Tenart    2020-02-26  
1445      val |= (MEDIA_OP_MODE_COPPER << MEDIA_OP_MODE_POS) |
1ac7b090ec4618 drivers/net/phy/mscc.c           Antoine Tenart    2020-02-26  
1446             (VSC8584_MAC_IF_SELECTION_SGMII << 
VSC8584_MAC_IF_SELECTION_POS);
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1447      ret = phy_write(phydev, MSCC_PHY_EXT_PHY_CNTL_1, val);
09d65e6d631c05 drivers/net/phy/mscc/mscc_main.c Antoine Tenart    2020-03-19  
1448      if (ret)
09d65e6d631c05 drivers/net/phy/mscc/mscc_main.c Antoine Tenart    2020-03-19  
1449              return ret;
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1450  
2283a02b67d412 drivers/net/phy/mscc/mscc_main.c Vladimir Oltean   2020-03-24  
1451      if (phy_interface_is_rgmii(phydev)) {
2283a02b67d412 drivers/net/phy/mscc/mscc_main.c Vladimir Oltean   2020-03-24  
1452              ret = vsc85xx_rgmii_set_skews(phydev, VSC8572_RGMII_CNTL,
2283a02b67d412 drivers/net/phy/mscc/mscc_main.c Vladimir Oltean   2020-03-24  
1453                                            VSC8572_RGMII_RX_DELAY_MASK,
2283a02b67d412 drivers/net/phy/mscc/mscc_main.c Vladimir Oltean   2020-03-24  
1454                                            VSC8572_RGMII_TX_DELAY_MASK);
2283a02b67d412 drivers/net/phy/mscc/mscc_main.c Vladimir Oltean   2020-03-24  
1455              if (ret)
2283a02b67d412 drivers/net/phy/mscc/mscc_main.c Vladimir Oltean   2020-03-24  
1456                      return ret;
2283a02b67d412 drivers/net/phy/mscc/mscc_main.c Vladimir Oltean   2020-03-24  
1457      }
dee48f78d02e15 drivers/net/phy/mscc/mscc_main.c Antoine Tenart    2020-03-19  
1458  
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1459      ret = genphy_soft_reset(phydev);
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1460      if (ret)
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1461              return ret;
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1462  
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1463      for (i = 0; i < vsc8531->nleds; i++) {
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1464              ret = vsc85xx_led_cntl_set(phydev, i, vsc8531->leds_mode[i]);
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1465              if (ret)
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1466                      return ret;
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1467      }
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1468  
c227ce4423855b drivers/net/phy/mscc.c           Heiner Kallweit   2019-08-17  
1469      return 0;
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1470  
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1471  err:
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08 
@1472      mutex_unlock(&phydev->mdio.bus->mdio_lock);
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1473      return ret;
a5afc1678044a3 drivers/net/phy/mscc.c           Quentin Schulz    2018-10-08  
1474  }

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

Attachment: .config.gz
Description: application/gzip

Reply via email to