]> git.baikalelectronics.ru Git - kernel.git/commit
[SPARC64]: Fix missing fold at end of checksums.
authorDavid S. Miller <davem@sunset.davemloft.net>
Mon, 5 Jun 2006 04:32:01 +0000 (21:32 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 5 Jun 2006 04:32:01 +0000 (21:32 -0700)
commitfc7cef1f1f028575b8a679941f6d512c78bd7311
treed1362b5cf494f2495d318f6ca6eccd79aae77997
parentdcac32cb4a83db07d480b06b4ea9a0af733fe45a
[SPARC64]: Fix missing fold at end of checksums.

Both csum_partial() and the csum_partial_copy*() family of routines
forget to do a final fold on the computed checksum value on sparc64.
So do the standard Sparc "add + set condition codes, add carry"
sequence, then make sure the high 32-bits of the return value are
clear.

Based upon some excellent detective work and debugging done by
Richard Braun and Samuel Thibault.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/lib/checksum.S
arch/sparc64/lib/csum_copy.S