[PATCH v1 2/2] serial: msm_geni: Fix clock enable on error pointer
Aswin Murugan
aswin.murugan at oss.qualcomm.com
Sat Jul 4 07:34:52 CEST 2026
When CONFIG_SKIP_EARLY_DM is enabled and no clock driver is available
during early serial init, devm_clk_get_optional() returns an error
pointer. The original code attempted to enable this error pointer,
causing a crash.
Fix by checking for both error pointers and NULL before calling
clk_enable(), using IS_ERR_OR_NULL() to handle all cases properly.
Signed-off-by: Aswin Murugan <aswin.murugan at oss.qualcomm.com>
---
drivers/serial/serial_msm_geni.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/serial/serial_msm_geni.c b/drivers/serial/serial_msm_geni.c
index 3dca581f68f..d5c4f3f1310 100644
--- a/drivers/serial/serial_msm_geni.c
+++ b/drivers/serial/serial_msm_geni.c
@@ -524,7 +524,8 @@ static int msm_serial_probe(struct udevice *dev)
priv->se = clk;
/* Try enable clock */
- clk_enable(clk);
+ if (!IS_ERR_OR_NULL(clk))
+ clk_enable(clk);
/* Check if firmware loading is needed (BT UART) */
proto = readl(priv->base + GENI_FW_REVISION_RO);
--
2.34.1
More information about the U-Boot
mailing list