irqchip: vf610: Fix of_io_request_and_map error check
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Sat, 2 May 2015 15:03:26 +0000 (17:03 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 5 May 2015 08:45:59 +0000 (10:45 +0200)
of_io_request_and map returns an error pointer, but the current code assumes
that on error the returned pointer will be NULL.

Obviously, that makes the check completely useless. Change the test to actually
check for the proper error code.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Link: http://lkml.kernel.org/r/1430579006-32702-7-git-send-email-maxime.ripard@free-electrons.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
drivers/irqchip/irq-vf610-mscm-ir.c

index 9521057d47448a4f290df3d760e7df044968c427..d0f940a3516d1601f2a8caca2d5e237bc267e9a6 100644 (file)
@@ -174,10 +174,9 @@ static int __init vf610_mscm_ir_of_init(struct device_node *node,
                return -ENOMEM;
 
        mscm_ir_data->mscm_ir_base = of_io_request_and_map(node, 0, "mscm-ir");
-
-       if (!mscm_ir_data->mscm_ir_base) {
+       if (IS_ERR(mscm_ir_data->mscm_ir_base)) {
                pr_err("vf610_mscm_ir: unable to map mscm register\n");
-               ret = -ENOMEM;
+               ret = PTR_ERR(mscm_ir_data->mscm_ir_base);
                goto out_free;
        }