2014-11-14 21:39:11

by Dmitry Torokhov

[permalink] [raw]
Subject: [PATCH] sata_fsl: fix error handling of irq_of_parse_and_map

irq_of_parse_and_map() returns 0 on error (the result is unsigned int),
so testing for negative result never works.

Signed-off-by: Dmitry Torokhov <[email protected]>
---

Not tested, found by casual code inspection.

drivers/ata/sata_fsl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c
index 4217415..f9054cd 100644
--- a/drivers/ata/sata_fsl.c
+++ b/drivers/ata/sata_fsl.c
@@ -1488,7 +1488,7 @@ static int sata_fsl_probe(struct platform_device *ofdev)
host_priv->csr_base = csr_base;

irq = irq_of_parse_and_map(ofdev->dev.of_node, 0);
- if (irq < 0) {
+ if (!irq) {
dev_err(&ofdev->dev, "invalid irq from platform\n");
goto error_exit_with_cleanup;
}
--
2.1.0.rc2.206.gedb03e5


--
Dmitry


2014-12-02 18:00:42

by Tejun Heo

[permalink] [raw]
Subject: Re: [PATCH] sata_fsl: fix error handling of irq_of_parse_and_map

On Fri, Nov 14, 2014 at 01:39:05PM -0800, Dmitry Torokhov wrote:
> irq_of_parse_and_map() returns 0 on error (the result is unsigned int),
> so testing for negative result never works.
>
> Signed-off-by: Dmitry Torokhov <[email protected]>

Sorry about the delay. Applied to libata/for-3.18-fixes w/ stable
cc'd.

Thanks.

--
tejun