dect
/
linux-2.6
Archived
13
0
Fork 0
This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
linux-2.6/include/linux/byteorder
David Miller 3d6f4a20cc endian: Always evaluate arguments.
Changeset 7fa897b91a ("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>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-25 09:28:09 -07:00
..
Kbuild Drop the exporting of empty <linux/byteorder/generic.h> 2008-04-30 08:29:54 -07:00
big_endian.h endian: Always evaluate arguments. 2008-07-25 09:28:09 -07:00
generic.h Drop the exporting of empty <linux/byteorder/generic.h> 2008-04-30 08:29:54 -07:00
little_endian.h endian: Always evaluate arguments. 2008-07-25 09:28:09 -07:00
swab.h Fix constant folding and poor optimization in byte swapping code 2007-05-08 11:14:59 -07:00
swabb.h [PATCH] cleanup linux/byteorder/swabb.h 2007-02-11 10:51:34 -08:00