From: kernel test robot <lkp@intel.com>
To: Anand Moon <linux.amoon@gmail.com>,
Heiner Kallweit <hkallweit1@gmail.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Manivannan Sadhasivam <mani@kernel.org>,
Shawn Lin <shawn.lin@rock-chips.com>,
Hans Zhang <18255117159@163.com>,
Niklas Cassel <cassel@kernel.org>,
linux-kernel@vger.kernel.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
netdev@vger.kernel.org, Anand Moon <linux.amoon@gmail.com>,
Robin Murphy <robin.murphy@arm.com>,
Danilo Krummrich <dakr@kernel.org>
Subject: Re: [PATCH next v1] r8169: Fix PHY lookup for mdiobus_get_phy() and improve error reporting during probe
Date: Tue, 17 Mar 2026 18:45:25 +0100 [thread overview]
Message-ID: <202603171855.OtM7sS7W-lkp@intel.com> (raw)
In-Reply-To: <20260317061700.7734-1-linux.amoon@gmail.com>
Hi Anand,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 95c541ddfb0815a0ea8477af778bb13bb075079a]
url: https://github.com/intel-lab-lkp/linux/commits/Anand-Moon/r8169-Fix-PHY-lookup-for-mdiobus_get_phy-and-improve-error-reporting-during-probe/20260317-183327
base: 95c541ddfb0815a0ea8477af778bb13bb075079a
patch link: https://lore.kernel.org/r/20260317061700.7734-1-linux.amoon%40gmail.com
patch subject: [PATCH next v1] r8169: Fix PHY lookup for mdiobus_get_phy() and improve error reporting during probe
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20260317/202603171855.OtM7sS7W-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260317/202603171855.OtM7sS7W-lkp@intel.com/reproduce)
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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202603171855.OtM7sS7W-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/net/ethernet/realtek/r8169_main.c:5467:17: warning: variable 'phydev' is used uninitialized whenever 'for' loop exits because its condition is false [-Wsometimes-uninitialized]
5467 | for (addr = 0; addr < PHY_MAX_ADDR; addr++) {
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/realtek/r8169_main.c:5476:7: note: uninitialized use occurs here
5476 | if (!phydev) {
| ^~~~~~
drivers/net/ethernet/realtek/r8169_main.c:5467:17: note: remove the condition if it is always true
5467 | for (addr = 0; addr < PHY_MAX_ADDR; addr++) {
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/realtek/r8169_main.c:5430:27: note: initialize the variable 'phydev' to silence this warning
5430 | struct phy_device *phydev;
| ^
| = NULL
1 warning generated.
vim +5467 drivers/net/ethernet/realtek/r8169_main.c
5425
5426 static int r8169_mdio_register(struct rtl8169_private *tp)
5427 {
5428 struct pci_dev *pdev = tp->pci_dev;
5429 struct mii_bus *new_bus;
5430 struct phy_device *phydev;
5431 int ret, addr;
5432
5433 /* On some boards with this chip version the BIOS is buggy and misses
5434 * to reset the PHY page selector. This results in the PHY ID read
5435 * accessing registers on a different page, returning a more or
5436 * less random value. Fix this by resetting the page selector first.
5437 */
5438 if (tp->mac_version == RTL_GIGA_MAC_VER_25 ||
5439 tp->mac_version == RTL_GIGA_MAC_VER_26)
5440 r8169_mdio_write(tp, 0x1f, 0);
5441
5442 new_bus = devm_mdiobus_alloc(&pdev->dev);
5443 if (!new_bus)
5444 return -ENOMEM;
5445
5446 new_bus->name = "r8169";
5447 new_bus->priv = tp;
5448 new_bus->parent = &pdev->dev;
5449 new_bus->irq[0] = PHY_MAC_INTERRUPT;
5450 new_bus->phy_mask = GENMASK(31, 1);
5451 snprintf(new_bus->id, MII_BUS_ID_SIZE, "r8169-%x-%x",
5452 pci_domain_nr(pdev->bus), pci_dev_id(pdev));
5453
5454 new_bus->read = r8169_mdio_read_reg;
5455 new_bus->write = r8169_mdio_write_reg;
5456
5457 if (tp->mac_version >= RTL_GIGA_MAC_VER_40) {
5458 new_bus->read_c45 = r8169_mdio_read_reg_c45;
5459 new_bus->write_c45 = r8169_mdio_write_reg_c45;
5460 }
5461
5462 ret = devm_mdiobus_register(&pdev->dev, new_bus);
5463 if (ret)
5464 return ret;
5465
5466 /* find the first (lowest address) PHY on the current MAC's MII bus */
> 5467 for (addr = 0; addr < PHY_MAX_ADDR; addr++) {
5468 struct phy_device *tmp = mdiobus_get_phy(new_bus, addr);
5469
5470 if (tmp) {
5471 phydev = tmp;
5472 break;
5473 }
5474 }
5475
5476 if (!phydev) {
5477 dev_err(&pdev->dev, "no PHY found on bus\n");
5478 return -ENODEV;
5479 }
5480
5481 /* Most chip versions fail with the genphy driver.
5482 * Therefore ensure that the dedicated PHY driver is loaded.
5483 */
5484 if (!phydev->drv) {
5485 dev_err(&pdev->dev, "no dedicated PHY driver found for PHY ID 0x%08x, maybe realtek.ko needs to be added to initramfs?\n",
5486 phydev->phy_id);
5487 return -EUNATCH;
5488 }
5489
5490 tp->phydev = phydev;
5491 tp->phydev->mac_managed_pm = true;
5492 if (rtl_supports_eee(tp))
5493 phy_support_eee(tp->phydev);
5494 phy_support_asym_pause(tp->phydev);
5495
5496 /* mimic behavior of r8125/r8126 vendor drivers */
5497 if (tp->mac_version == RTL_GIGA_MAC_VER_61)
5498 phy_disable_eee_mode(tp->phydev,
5499 ETHTOOL_LINK_MODE_2500baseT_Full_BIT);
5500
5501 /* PHY will be woken up in rtl_open() */
5502 phy_suspend(tp->phydev);
5503
5504 return 0;
5505 }
5506
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2026-03-17 17:46 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-17 6:16 [PATCH next v1] r8169: Fix PHY lookup for mdiobus_get_phy() and improve error reporting during probe Anand Moon
2026-03-17 6:51 ` Heiner Kallweit
2026-03-17 7:59 ` Anand Moon
2026-03-17 9:44 ` Heiner Kallweit
2026-03-17 14:11 ` Anand Moon
2026-03-17 17:45 ` kernel test robot [this message]
2026-03-19 23:53 ` kernel test robot
2026-03-20 3:06 ` Anand Moon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202603171855.OtM7sS7W-lkp@intel.com \
--to=lkp@intel.com \
--cc=18255117159@163.com \
--cc=andrew+netdev@lunn.ch \
--cc=cassel@kernel.org \
--cc=dakr@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux.amoon@gmail.com \
--cc=llvm@lists.linux.dev \
--cc=mani@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=pabeni@redhat.com \
--cc=robin.murphy@arm.com \
--cc=shawn.lin@rock-chips.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.