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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 16 Dec 2014 17:09:42 +0000 (09:09 -0800)
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/ata/sata_fsl.c

index 8401061b4040b7fd3e2e13cfbee9cd51c87b2ce7..38a2389f5b1bc86abc0baae3fda3f9ab20956cd4 100644 (file)
@@ -1501,7 +1501,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;
        }