net: ethernet: ti: am65-cpsw: Handle -EPROBE_DEFER for Serdes PHY
authorSiddharth Vadapalli <s-vadapalli@ti.com>
Wed, 18 Jan 2023 11:21:36 +0000 (16:51 +0530)
committerJakub Kicinski <kuba@kernel.org>
Fri, 20 Jan 2023 02:57:19 +0000 (18:57 -0800)
commit854617f52ab4241896190abac7688eaaf6774451
tree117a82737d081380d78fd91fbbee7021087c5d62
parenta76e88c2942575bc43ea88d0f05d245b26859130
net: ethernet: ti: am65-cpsw: Handle -EPROBE_DEFER for Serdes PHY

In the am65_cpsw_init_serdes_phy() function, the error handling for the
call to the devm_of_phy_get() function misses the case where the return
value of devm_of_phy_get() is ERR_PTR(-EPROBE_DEFER). Proceeding without
handling this case will result in a crash when the "phy" pointer with
this value is dereferenced by phy_init() in am65_cpsw_enable_phy().

Fix this by adding appropriate error handling code.

Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Fixes: dab2b265dd23 ("net: ethernet: ti: am65-cpsw: Add support for SERDES configuration")
Suggested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Link: https://lore.kernel.org/r/20230118112136.213061-1-s-vadapalli@ti.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/ti/am65-cpsw-nuss.c