[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202601130843.rFGNXA5a-lkp@intel.com>
Date: Tue, 13 Jan 2026 08:10:03 +0300
From: Dan Carpenter <dan.carpenter@...aro.org>
To: oe-kbuild@...ts.linux.dev,
Maxime Chevallier <maxime.chevallier@...tlin.com>
Cc: lkp@...el.com, oe-kbuild-all@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: drivers/net/ethernet/freescale/ucc_geth.c:1608 ugeth_mac_config()
error: we previously assumed 'tbiphy' could be null (see line 1605)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b71e635feefc852405b14620a7fc58c4c80c0f73
commit: 53036aa8d03178a8d056a24a52a301ad290877d4 net: freescale: ucc_geth: phylink conversion
config: powerpc-randconfig-r072-20260113 (https://download.01.org/0day-ci/archive/20260113/202601130843.rFGNXA5a-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 9b8addffa70cee5b2acc5454712d9cf78ce45710)
smatch version: v0.5.0-8985-g2614ff1a
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Reported-by: Dan Carpenter <dan.carpenter@...aro.org>
| Closes: https://lore.kernel.org/r/202601130843.rFGNXA5a-lkp@intel.com/
smatch warnings:
drivers/net/ethernet/freescale/ucc_geth.c:1608 ugeth_mac_config() error: we previously assumed 'tbiphy' could be null (see line 1605)
vim +/tbiphy +1608 drivers/net/ethernet/freescale/ucc_geth.c
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1589 static void ugeth_mac_config(struct phylink_config *config, unsigned int mode,
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1590 const struct phylink_link_state *state)
ce973b141dfac4 drivers/net/ucc_geth.c Li Yang 2006-08-14 1591 {
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1592 struct net_device *ndev = to_net_dev(config->dev);
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1593 struct ucc_geth_private *ugeth = netdev_priv(ndev);
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1594 struct ucc_geth_info *ug_info = ugeth->ug_info;
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1595 u16 value;
ce973b141dfac4 drivers/net/ucc_geth.c Li Yang 2006-08-14 1596
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1597 if (state->interface == PHY_INTERFACE_MODE_TBI ||
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1598 state->interface == PHY_INTERFACE_MODE_RTBI) {
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1599 struct phy_device *tbiphy;
ce973b141dfac4 drivers/net/ucc_geth.c Li Yang 2006-08-14 1600
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1601 if (!ug_info->tbi_node)
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1602 pr_warn("TBI mode requires that the device tree specify a tbi-handle\n");
ce973b141dfac4 drivers/net/ucc_geth.c Li Yang 2006-08-14 1603
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1604 tbiphy = of_phy_find_device(ug_info->tbi_node);
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 @1605 if (!tbiphy)
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1606 pr_warn("Could not get TBI device\n");
We may as well return here instead of crashing on the next line.
047584ce941080 drivers/net/ucc_geth.c Haiying Wang 2009-06-02 1607
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 @1608 value = phy_read(tbiphy, ENET_TBI_MII_CR);
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1609 value &= ~0x1000; /* Turn off autonegotiation */
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1610 phy_write(tbiphy, ENET_TBI_MII_CR, value);
ce973b141dfac4 drivers/net/ucc_geth.c Li Yang 2006-08-14 1611
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1612 put_device(&tbiphy->mdio.dev);
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1613 }
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1614
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1615 if (phylink_autoneg_inband(mode)) {
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1616 ug_info->aufc = 1;
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1617
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1618 init_flow_control_params(ug_info->aufc, 1, 1,
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1619 ug_info->pausePeriod,
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1620 ug_info->extensionField,
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1621 &ugeth->uccf->uf_regs->upsmr,
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1622 &ugeth->ug_regs->uempr,
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1623 &ugeth->ug_regs->maccfg1);
53036aa8d03178 drivers/net/ethernet/freescale/ucc_geth.c Maxime Chevallier 2024-12-03 1624 }
ce973b141dfac4 drivers/net/ucc_geth.c Li Yang 2006-08-14 1625 }
ce973b141dfac4 drivers/net/ucc_geth.c Li Yang 2006-08-14 1626
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists