Re: bug in checkpath.pl

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 28, 2007 at 12:07:38PM +0100, Holger Schurig wrote:
> I have a case where scripts/checkpatch.pl returns a false error. 
> First, here is the code:
> 
> 
> static int lbs_scan_add_rates_tlv(u8 *tlv)
> {
> 	int i;
> 	struct mrvlietypes_ratesparamset *rate_tlv =
> 		(struct mrvlietypes_ratesparamset *) tlv;
> 
> 	rate_tlv->header.type = cpu_to_le16(TLV_TYPE_RATES);
> 	tlv += sizeof(rate_tlv->header);
> 	for (i = 0; i < MAX_RATES; i++) {
> 		*tlv = lbs_bg_rates[i];
> 		if (*tlv == 0)
> 			break;
> 		if (*tlv == 0x02 || *tlv == 0x04 ||
> 		    *tlv == 0x0b || *tlv == 0x16)
> 			*tlv |= 0x80;
> 		tlv++;
> 	}
> 	rate_tlv->header.len = i;
> 	return sizeof(rate_tlv->header) + i;
> }
> 
> 
> And here the error from checkpatch.pl:
> 
> ERROR: need consistent spacing around '*' (ctx:WxV)
> #553: FILE: drivers/net/wireless/libertas/scan.c:438:
> +                       *tlv |= 0x80;
> 
> 
> 
> This error seems wrong, tlv is a pointer to some u8 value
> (a.k.a. unsigned char), and it is very well allowed to
> operate on it via *variablename |= 0x80;

Yes that would be wrong.  I believe that this is fixed in the latest
versions.  0.12 should have the fix for this, and it seems to work in
the latest development snapshot.  Can you try the 0.12 and next from the
URL below for me.

    http://www.kernel.org/pub/linux/kernel/people/apw/checkpatch/

-apw
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux