[PATCH 3/4] parisc: checksum: Remove folding from csum_partial

From: Charlie Jenkins
Date: Wed Feb 21 2024 - 21:38:10 EST


The parisc implementation of csum_partial previously folded the result
into 16 bits instead of returning all 32 bits and letting consumers like
ip_compute_csum do the folding. Since ip_compute_csum no longer depends
on this requirement, remove the folding so that the parisc
implementation operates the same as other architectures.

Signed-off-by: Charlie Jenkins <charlie@xxxxxxxxxxxx>
---
arch/parisc/lib/checksum.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/arch/parisc/lib/checksum.c b/arch/parisc/lib/checksum.c
index 05f5ca4b2f96..eaa660491e24 100644
--- a/arch/parisc/lib/checksum.c
+++ b/arch/parisc/lib/checksum.c
@@ -95,14 +95,11 @@ unsigned int do_csum(const unsigned char *buff, int len)
/*
* computes a partial checksum, e.g. for TCP/UDP fragments
*/
-/*
- * why bother folding?
- */
__wsum csum_partial(const void *buff, int len, __wsum sum)
{
unsigned int result = do_csum(buff, len);
addc(result, sum);
- return (__force __wsum)from32to16(result);
+ return (__force __wsum)result;
}

EXPORT_SYMBOL(csum_partial);

--
2.34.1