/* it's best to have buff aligned on a 32-bit boundary  */
__wsum csum_partial(const void *buff, int len, __wsum wsum)
/* it's best to have buff aligned on a 32-bit boundary  */
__wsum csum_partial(const void *buff, int len, __wsum wsum)
{
	unsigned int sum = (__force unsigned int)wsum;
	unsigned int result = do_csum(buff, len);
	result += sum;
	if (sum > result)
		result += 1;
	return (__force __wsum)result;
}