Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: freescale: ucc_geth: Return early when TBI PHY can't be found

In ucc_geth's .mac_config(), we configure the TBI Serdes block represented by a
struct phy_device that we get from firmware.

While porting to phylink, a check was missed to make sure we don't try
to access the TBI PHY if we can't get it. Let's add it and return early
in case of error

Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/r/202601130843.rFGNXA5a-lkp@intel.com/
Fixes: 53036aa8d031 ("net: freescale: ucc_geth: phylink conversion")
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Link: https://patch.msgid.link/20260114080247.366252-1-maxime.chevallier@bootlin.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Maxime Chevallier and committed by
Jakub Kicinski
a74c7a58 2c68d5ea

+3 -1
+3 -1
drivers/net/ethernet/freescale/ucc_geth.c
··· 1602 1602 pr_warn("TBI mode requires that the device tree specify a tbi-handle\n"); 1603 1603 1604 1604 tbiphy = of_phy_find_device(ug_info->tbi_node); 1605 - if (!tbiphy) 1605 + if (!tbiphy) { 1606 1606 pr_warn("Could not get TBI device\n"); 1607 + return; 1608 + } 1607 1609 1608 1610 value = phy_read(tbiphy, ENET_TBI_MII_CR); 1609 1611 value &= ~0x1000; /* Turn off autonegotiation */