diff options
author | Arnd Bergmann <arnd@arndb.de> | 2009-06-19 10:41:19 +0200 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2009-06-19 14:58:13 +0200 |
commit | 32a9ff9cc55b42543a84bca90b070df92af72671 (patch) | |
tree | ce4d38741f8b78f5e4f193f5032846743e76b183 /include | |
parent | fcec9bf12442d0cd50d6cee125d168cfc3f37c5e (diff) |
lib/checksum.c: fix endianess bug
The new generic checksum code has a small dependency on endianess and
worked only on big-endian systems. I could not find a nice efficient
way to express this, so I added an #ifdef. Using
'result += le16_to_cpu(*buff);' would have worked as well, but
would be slightly less efficient on big-endian systems and IMHO
would not be clearer.
Also fix a bug that prevents this from working on 64-bit machines.
If you have a 64-bit CPU and want to use the generic checksum
code, you should probably do some more optimizations anyway, but
at least the code should not break.
Reported-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions