| From dfd0dfb9a7cc04acf93435b440dd34c2ca7b4424 Mon Sep 17 00:00:00 2001 |
| From: Sergey Shtylyov <s.shtylyov@omp.ru> |
| Date: Mon, 24 Jan 2022 21:55:03 +0300 |
| Subject: EDAC/xgene: Fix deferred probing |
| |
| From: Sergey Shtylyov <s.shtylyov@omp.ru> |
| |
| commit dfd0dfb9a7cc04acf93435b440dd34c2ca7b4424 upstream. |
| |
| 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: 0d4429301c4a ("EDAC: Add APM X-Gene SoC EDAC driver") |
| Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru> |
| Signed-off-by: Borislav Petkov <bp@suse.de> |
| Cc: <stable@vger.kernel.org> |
| Link: https://lore.kernel.org/r/20220124185503.6720-3-s.shtylyov@omp.ru |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/edac/xgene_edac.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/edac/xgene_edac.c |
| +++ b/drivers/edac/xgene_edac.c |
| @@ -1919,7 +1919,7 @@ static int xgene_edac_probe(struct platf |
| irq = platform_get_irq(pdev, i); |
| if (irq < 0) { |
| dev_err(&pdev->dev, "No IRQ resource\n"); |
| - rc = -EINVAL; |
| + rc = irq; |
| goto out_err; |
| } |
| rc = devm_request_irq(&pdev->dev, irq, |