From 456ce32b60c43da2129545161dca0660673ac703 Mon Sep 17 00:00:00 2001 From: bui duc phuc Date: Fri, 7 Aug 2026 16:09:43 +0700 Subject: [PATCH] serial: qcom-geni: Propagate errors from optional IRQ lookup 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 Reviewed-by: Konrad Dybcio Link: https://patch.msgid.link/20260807090945.41690-1-phucduc.bui@gmail.com Signed-off-by: Greg Kroah-Hartman --- 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 3633723acef8..7162fe69be4a 100644 --- a/drivers/tty/serial/qcom_geni_serial.c +++ b/drivers/tty/serial/qcom_geni_serial.c @@ -1947,8 +1947,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;