Message ID | 20170630210806.GA9391@embeddedgus |
---|---|
State | Not Applicable |
Delegated to: | David Miller |
Headers | show |
diff --git a/drivers/ata/sata_rcar.c b/drivers/ata/sata_rcar.c index ee98447..769bfdd 100644 --- a/drivers/ata/sata_rcar.c +++ b/drivers/ata/sata_rcar.c @@ -872,8 +872,10 @@ static int sata_rcar_probe(struct platform_device *pdev) int ret = 0; irq = platform_get_irq(pdev, 0); - if (irq <= 0) - return -EINVAL; + if (irq < 0) { + dev_err(&pdev->dev, "failed to get IRQ: %d\n", irq); + return irq; + } priv = devm_kzalloc(&pdev->dev, sizeof(struct sata_rcar_priv), GFP_KERNEL);
platform_get_irq() returns an error code, but the sata_rcar driver ignores it and always returns -EINVAL. This is not correct, and prevents -EPROBE_DEFER from being propagated properly. Also, notice that platform_get_irq() no longer returns 0 on error. Print error message and propagate the return value of platform_get_irq on failure. Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com> --- Changes in v2: Rewrite commit message. drivers/ata/sata_rcar.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)