sata_fsl: fix error handling of irq_of_parse_and_map
authorDmitry Torokhov <dtor@chromium.org>
Fri, 14 Nov 2014 21:39:05 +0000 (13:39 -0800)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 1 Jan 2015 01:27:49 +0000 (01:27 +0000)
commit aad0b624129709c94c2e19e583b6053520353fa8 upstream.

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 <dtor@chromium.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/ata/sata_fsl.c

index 78ae7b6..54702f8 100644 (file)
@@ -1338,7 +1338,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;
        }