lkml.org 
[lkml]   [2008]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: recent IDE regression
Date
On Friday 25 July 2008, David Miller wrote:

[...]

> Something like this:
>
> endian: Always evaluate arguments.
>
> Changeset 7fa897b91a3ea0f16c2873b869d7a0eef05acff4
> ("ide: trivial sparse annotations") created an IDE bootup
> regression on big-endian systems. In drivers/ide/ide-iops.c,
> function ide_fixstring() we now have the loop:
>
> for (p = end ; p != s;)
> be16_to_cpus((u16 *)(p -= 2));
>
> which will never terminate on big-endian because in such
> a configuration be16_to_cpus() evaluates to "do { } while (0)"
>
> Therefore, always evaluate the arguments to nop endian transformation
> operations.
>
> Signed-off-by: David S. Miller <davem@davemloft.net>

Thanks David.

PS We need more big-endian users testing linux-next (this particular patch
despite being trivial has been put there just-in-case for a week)



\
 
 \ /
  Last update: 2008-07-26 14:21    [W:0.074 / U:0.792 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site