[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)
commitae5de0ff0bc24664a053109c6caa782ba2ad7c53
treed1362b5cf494f2495d318f6ca6eccd79aae77997
parent672c6108a51bf559d19595d9f8193dfd81f0f752
[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