Re: [PATCH 2/2] drivers/scsi/sun3x_esp.c: Convert && to ||

From: Sam Creasey
Date: Tue Oct 14 2008 - 13:34:41 EST


On Tue, Oct 14, 2008 at 06:00:19PM +0200, Julia Lawall wrote:
> From: Julia Lawall <julia@xxxxxxx>
>
> 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@xxxxxxx>
Acked-By: Sam Creasey <sammy@xxxxxxxxx>

I doubt this code would have been likely to execute, but you're
certainly right. It's a bug, and this looks like the fix.

-- Sam


>
> ---
> drivers/scsi/sun3x_esp.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff -u -p a/drivers/scsi/sun3x_esp.c b/drivers/scsi/sun3x_esp.c
> --- a/drivers/scsi/sun3x_esp.c
> +++ b/drivers/scsi/sun3x_esp.c
> @@ -213,7 +213,7 @@ static int __devinit esp_sun3x_probe(str
> 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);
> @@ -221,7 +221,7 @@ static int __devinit esp_sun3x_probe(str
> 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);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/