drivers/scsi: remove unnecessary NULL test
authorJulia Lawall <julia@diku.dk>
Wed, 11 Aug 2010 01:01:13 +0000 (18:01 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 11 Aug 2010 15:59:00 +0000 (08:59 -0700)
At the point where cmnd is initialized, it is tested for NULL, so it
doesn't have to be tested again here.

A simplified version of the semantic match that detects this problem is as
follows (http://coccinelle.lip6.fr/):

// <smpl>
@match exists@
expression x, E;
identifier fld;
@@

* x->fld
  ... when != \(x = E\|&x\)
* x == NULL
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/scsi/initio.c

index a771416..1087977 100644 (file)
@@ -2817,7 +2817,6 @@ static void i91uSCBPost(u8 * host_mem, u8 * cblk_mem)
        }
 
        cmnd->result = cblk->tastat | (cblk->hastat << 16);
-       WARN_ON(cmnd == NULL);
        i91u_unmap_scb(host->pci_dev, cmnd);
        cmnd->scsi_done(cmnd);  /* Notify system DONE           */
        initio_release_scb(host, cblk); /* Release SCB for current channel */