[PATCH 1/3] serial: qcom-geni: Propagate errors from optional IRQ lookup
From: phucduc . bui
Date: Fri Aug 07 2026 - 05:10:41 EST
From: bui duc phuc <phucduc.bui@xxxxxxxxx>
platform_get_irq_optional() returns a positive IRQ number on success or
a negative error code on failure. For an optional IRQ, -ENXIO indicates
that no IRQ is available, while other errors should be propagated.
Propagate errors such as -EPROBE_DEFER and -EINVAL instead of continuing
probe without the IRQ.
Signed-off-by: bui duc phuc <phucduc.bui@xxxxxxxxx>
---
drivers/tty/serial/qcom_geni_serial.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c
index 7ead87b4eb65..240a6d67d847 100644
--- a/drivers/tty/serial/qcom_geni_serial.c
+++ b/drivers/tty/serial/qcom_geni_serial.c
@@ -1883,8 +1883,13 @@ static int qcom_geni_serial_probe(struct platform_device *pdev)
uport->irq = irq;
uport->has_sysrq = IS_ENABLED(CONFIG_SERIAL_QCOM_GENI_CONSOLE);
- if (!data->console)
+ if (!data->console) {
port->wakeup_irq = platform_get_irq_optional(pdev, 1);
+ if (port->wakeup_irq < 0 && port->wakeup_irq != -ENXIO) {
+ ret = port->wakeup_irq;
+ goto error;
+ }
+ }
if (of_property_read_bool(pdev->dev.of_node, "rx-tx-swap"))
port->rx_tx_swap = true;
--
2.43.0