Commit dfd0dfb9 authored by Sergey Shtylyov's avatar Sergey Shtylyov Committed by Borislav Petkov

EDAC/xgene: Fix deferred probing

The driver overrides error codes returned by platform_get_irq_optional()
to -EINVAL for some strange reason, so if it returns -EPROBE_DEFER, the
driver will fail the probe permanently instead of the deferred probing.
Switch to propagating the proper error codes to platform driver code
upwards.

  [ bp: Massage commit message. ]

Fixes: 0d442930 ("EDAC: Add APM X-Gene SoC EDAC driver")
Signed-off-by: default avatarSergey Shtylyov <s.shtylyov@omp.ru>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20220124185503.6720-3-s.shtylyov@omp.ru
parent 279eb857
...@@ -1919,7 +1919,7 @@ static int xgene_edac_probe(struct platform_device *pdev) ...@@ -1919,7 +1919,7 @@ static int xgene_edac_probe(struct platform_device *pdev)
irq = platform_get_irq_optional(pdev, i); irq = platform_get_irq_optional(pdev, i);
if (irq < 0) { if (irq < 0) {
dev_err(&pdev->dev, "No IRQ resource\n"); dev_err(&pdev->dev, "No IRQ resource\n");
rc = -EINVAL; rc = irq;
goto out_err; goto out_err;
} }
rc = devm_request_irq(&pdev->dev, irq, rc = devm_request_irq(&pdev->dev, irq,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment