Subject: Re: [PATCH 4/4] zd1211rw: remove unnecessary [kv][mcz]alloc casts

From: Johannes Berg <[email-masked]>
Date: Sun, 28 Nov 2010 10:30:06 +0100

On Sun, 2010-11-28 at 01:20 -0800, Joe Perches wrote:
> On Sun, 2010-11-28 at 10:12 +0100, Johannes Berg wrote:
> > On Sun, 2010-11-28 at 01:05 -0800, Joe Perches wrote:
> > > diff --git a/drivers/net/wireless/zd1211rw/zd_chip.c b/drivers/net/wireless/zd1211rw/zd_chip.c
> > > @@ -117,8 +117,7 @@ int zd_ioread32v_locked(struct zd_chip *chip, u32 *values, const zd_addr_t *addr
> > >  
> > >  	/* Allocate a single memory block for values and addresses. */
> > >  	count16 = 2*count;
> > > -	a16 = (zd_addr_t *) kmalloc(count16 * (sizeof(zd_addr_t) + sizeof(u16)),
> > > -		                   GFP_KERNEL);
> > > +	a16 = kmalloc(count16 * (sizeof(zd_addr_t) + sizeof(u16)), GFP_KERNEL);
> > I believe this is on purpose for sparse.
> 
> Perhaps in a previous version, but not now.
> 
> $ make C=1 drivers/net/wireless/zd1211rw/zd_chip.o
>   CHK     include/linux/version.h
>   CHK     include/generated/utsrelease.h
>   CALL    scripts/checksyscalls.sh
>   CHECK   drivers/net/wireless/zd1211rw/zd_chip.c
> include/trace/events/kmem.h:45:1: error: Expected ( after asm
> include/trace/events/kmem.h:45:1: error: got goto

How do you know? I thought sparse was pretty much not reliable after the
first error it prints.

johannes