diff options
author | Gustavo A. R. Silva <gustavo@embeddedor.com> | 2017-08-09 12:29:21 -0400 |
---|---|---|
committer | Boris Brezillon <boris.brezillon@free-electrons.com> | 2017-08-23 10:49:23 -0400 |
commit | 2192a8ddc11ad7f243bed44eef4add8e37a658fe (patch) | |
tree | 1f5eef302dbbb4741c42d03add8bf7fbbfe36f17 | |
parent | dbf5f6424ed92131b2d5bf363a0176d8a9f531ef (diff) |
mtd: nand: sh_flctl: fix error return code in flctl_probe()
platform_get_irq() returns an error code, but the sh_flctl
driver ignores it and always returns -ENXIO. This is not correct
and, prevents -EPROBE_DEFER from being propagated properly.
Print and propagate the return value of platform_get_irq on failure.
This issue was detected with the help of Coccinelle.
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
-rw-r--r-- | drivers/mtd/nand/sh_flctl.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mtd/nand/sh_flctl.c b/drivers/mtd/nand/sh_flctl.c index 2404d6634bda..d2afd57bc1f2 100644 --- a/drivers/mtd/nand/sh_flctl.c +++ b/drivers/mtd/nand/sh_flctl.c | |||
@@ -1141,8 +1141,8 @@ static int flctl_probe(struct platform_device *pdev) | |||
1141 | 1141 | ||
1142 | irq = platform_get_irq(pdev, 0); | 1142 | irq = platform_get_irq(pdev, 0); |
1143 | if (irq < 0) { | 1143 | if (irq < 0) { |
1144 | dev_err(&pdev->dev, "failed to get flste irq data\n"); | 1144 | dev_err(&pdev->dev, "failed to get flste irq data: %d\n", irq); |
1145 | return -ENXIO; | 1145 | return irq; |
1146 | } | 1146 | } |
1147 | 1147 | ||
1148 | ret = devm_request_irq(&pdev->dev, irq, flctl_handle_flste, IRQF_SHARED, | 1148 | ret = devm_request_irq(&pdev->dev, irq, flctl_handle_flste, IRQF_SHARED, |