[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5108D808.6010405@bfs.de>
Date: Wed, 30 Jan 2013 09:21:28 +0100
From: walter harms <wharms@....de>
To: Joe Perches <joe@...ches.com>
CC: Julia Lawall <julia.lawall@...6.fr>,
Russell King <linux@....linux.org.uk>,
Mike Rapoport <mike@...pulab.co.il>, Valdis.Kletnieks@...edu,
cocci@...teme.lip6.fr, Dan Carpenter <dan.carpenter@...cle.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Jiri Slaby <jslaby@...e.cz>,
Paul Fulghum <paulkf@...rogate.com>,
David Howells <dhowells@...hat.com>,
linux-kernel@...r.kernel.org, kernel-janitors@...r.kernel.org
Subject: Re: coccinelle and bitmask arithmetic
Am 29.01.2013 19:03, schrieb Joe Perches:
> On Tue, 2013-01-29 at 18:49 +0100, Julia Lawall wrote:
>> How about the following (from today's linux-next). They appear to be
>> trying to do the same calculation, once with + and once with |.
>
> (cc'ing the original developer and Russell King)
>
> Likely the it8152_pci_platform_notify uses should use +
>
>> arch/arm/common/it8152.c
>>
>> int dma_set_coherent_mask(struct device *dev, u64 mask)
>> {
>> if (mask >= PHYS_OFFSET + SZ_64M - 1)
>> return 0;
>>
>> return -EIO;
>> }
>>
Great hit Joe :)
Sometimes i am really surprised what code can be found
in the kernal and it is still working.
Having no clue of the code i suspect somebody tries to
check is mask outside the range it should read
PHYS_OFFSET |( SZ_64M - 1)
maybe someone should tell them that
1+1=10 while 1|1=1
It does not seem to matter here (or ... ?)
really perplexed,
wh
>> static int it8152_pci_platform_notify(struct device *dev)
>> {
>> if (dev->bus == &pci_bus_type) {
>> if (dev->dma_mask)
>> *dev->dma_mask = (SZ_64M - 1) | PHYS_OFFSET;
>> dev->coherent_dma_mask = (SZ_64M - 1) | PHYS_OFFSET;
>> dmabounce_register_dev(dev, 2048, 4096, it8152_needs_bounce);
>> }
>> return 0;
>> }
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists