Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 07064c6e authored by Tom Herbert's avatar Tom Herbert Committed by David S. Miller
Browse files

net: Allow csum_add to be provided in arch



csum_add is really nothing more then add-with-carry which
can be implemented efficiently in some architectures.
Allow architecture to define this protected by HAVE_ARCH_CSUM_ADD.

Signed-off-by: default avatarTom Herbert <therbert@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2ad06496
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -57,12 +57,14 @@ static __inline__ __wsum csum_and_copy_to_user
}
#endif

#ifndef HAVE_ARCH_CSUM_ADD
static inline __wsum csum_add(__wsum csum, __wsum addend)
{
	u32 res = (__force u32)csum;
	res += (__force u32)addend;
	return (__force __wsum)(res + (res < (__force u32)addend));
}
#endif

static inline __wsum csum_sub(__wsum csum, __wsum addend)
{