mtd: spear_smi: failure test for null rather than negative integer
authorJulia Lawall <Julia.Lawall@lip6.fr>
Wed, 11 Jul 2012 08:58:38 +0000 (10:58 +0200)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Sat, 29 Sep 2012 13:53:21 +0000 (14:53 +0100)
dev_get_platdata returns a pointer, so the failure value would be NULL
rather than a negative integer.

The semantic match that finds this problem is: (http://coccinelle.lip6.fr/)

// <smpl>
@@
expression x,e;
statement S1,S2;
@@

*x = dev_get_platdata(...)
... when != x = e
*if (x < 0) S1 else S2
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Acked-by: Stefan Roese <sr@denx.de>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/devices/spear_smi.c

index b85f183d24c00151b8c5c1ed87e4f1338b8b2369..7c10466766c7d5cad2f9772df4f6a795611a8801 100644 (file)
@@ -935,7 +935,7 @@ static int __devinit spear_smi_probe(struct platform_device *pdev)
                }
        } else {
                pdata = dev_get_platdata(&pdev->dev);
-               if (pdata < 0) {
+               if (!pdata) {
                        ret = -ENODEV;
                        dev_err(&pdev->dev, "no platform data\n");
                        goto err;