drivers/ata: Move a dereference below a NULL test
authorJulia Lawall <julia@diku.dk>
Sat, 11 Jul 2009 07:49:48 +0000 (09:49 +0200)
committerJeff Garzik <jgarzik@redhat.com>
Wed, 15 Jul 2009 02:42:51 +0000 (22:42 -0400)
If the NULL test is necessary, then the dereference should be moved below
the NULL test.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
type T;
expression E;
identifier i,fld;
statement S;
@@

- T i = E->fld;
+ T i;
  ... when != E
      when != i
  if (E == NULL) S
+ i = E->fld;
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/pata_at91.c

index 4b27617..8561a9f 100644 (file)
@@ -312,11 +312,12 @@ err_ide_ioremap:
 static int __devexit pata_at91_remove(struct platform_device *pdev)
 {
        struct ata_host *host = dev_get_drvdata(&pdev->dev);
-       struct at91_ide_info *info = host->private_data;
+       struct at91_ide_info *info;
        struct device *dev = &pdev->dev;
 
        if (!host)
                return 0;
+       info = host->private_data;
 
        ata_host_detach(host);