diff options
author | Gustavo A. R. Silva <gustavo@embeddedor.com> | 2017-08-09 18:29:21 +0200 |
---|---|---|
committer | Boris Brezillon <boris.brezillon@free-electrons.com> | 2017-08-23 16:49:23 +0200 |
commit | 2192a8ddc11ad7f243bed44eef4add8e37a658fe (patch) | |
tree | 1f5eef302dbbb4741c42d03add8bf7fbbfe36f17 | |
parent | mtd: nand: sh_flctl: use dma_mapping_error to check map errors (diff) | |
download | linux-2192a8ddc11ad7f243bed44eef4add8e37a658fe.tar.xz linux-2192a8ddc11ad7f243bed44eef4add8e37a658fe.zip |
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) irq = platform_get_irq(pdev, 0); if (irq < 0) { - dev_err(&pdev->dev, "failed to get flste irq data\n"); - return -ENXIO; + dev_err(&pdev->dev, "failed to get flste irq data: %d\n", irq); + return irq; } ret = devm_request_irq(&pdev->dev, irq, flctl_handle_flste, IRQF_SHARED, |