drivers/spi: move a dereference below a NULL test
authorJulia Lawall <julia@diku.dk>
Tue, 6 Jan 2009 22:41:45 +0000 (14:41 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 6 Jan 2009 23:59:20 +0000 (15:59 -0800)
In each case, 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>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/spi/pxa2xx_spi.c

index 6104f461a3cdf564e6476c8e49a6dd69a851052d..d0fc4ca2f656abb56d263284bde5a311ff2e6acd 100644 (file)
@@ -1561,11 +1561,12 @@ out_error_master_alloc:
 static int pxa2xx_spi_remove(struct platform_device *pdev)
 {
        struct driver_data *drv_data = platform_get_drvdata(pdev);
-       struct ssp_device *ssp = drv_data->ssp;
+       struct ssp_device *ssp;
        int status = 0;
 
        if (!drv_data)
                return 0;
+       ssp = drv_data->ssp;
 
        /* Remove the queue */
        status = destroy_queue(drv_data);