The pattern !E && !E->fld is nonsensical.  The patch below updates this
according to the assumption that && should be ||.  But perhaps another
solution was intended.
The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@disable and_comm@
expression E;
identifier fld;
@@
- !E && !E->fld
+ !E || !E->fld
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-By: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
        esp->ops = &sun3x_esp_ops;
 
        res = platform_get_resource(dev, IORESOURCE_MEM, 0);
-       if (!res && !res->start)
+       if (!res || !res->start)
                goto fail_unlink;
 
        esp->regs = ioremap_nocache(res->start, 0x20);
                goto fail_unmap_regs;
 
        res = platform_get_resource(dev, IORESOURCE_MEM, 1);
-       if (!res && !res->start)
+       if (!res || !res->start)
                goto fail_unmap_regs;
 
        esp->dma_regs = ioremap_nocache(res->start, 0x10);