soc: qcom: llcc-qcom: Handle 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 optional IRQ is available. Other errors, such as -EPROBE_DEFER
and -EINVAL, should be propagated so that the caller can handle them
appropriately.

Propagate negative errors other than -ENXIO.

Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260819102630.68991-1-phucduc.bui@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
bui duc phuc 2026-08-19 17:26:30 +07:00 committed by Bjorn Andersson
parent f38399670d
commit c708b7141c

View File

@ -5657,6 +5657,10 @@ static int qcom_llcc_probe(struct platform_device *pdev)
}
drv_data->ecc_irq = platform_get_irq_optional(pdev, 0);
if (drv_data->ecc_irq < 0 && drv_data->ecc_irq != -ENXIO)
return dev_err_probe(&pdev->dev, drv_data->ecc_irq,
"failed to get IRQ resource\n");
drv_data->edac_reg_offset = cfg->edac_reg_offset;
drv_data->ecc_irq_configured = cfg->irq_configured;
drv_data->dev = dev;