summary refs log tree commit diff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-07-10 10:14:35 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2013-07-10 10:14:35 -0700
commit2d6244b3cc936c35101171dab0aa9123e96f800c (patch)
treeb35438219b5cbd325c3f2661f2a145ca855537bd
parent49283f602039e3b81930c4ab5cc20e310b84c7ff (diff)
parentd903bca9bc542bd6d60019f9f761be15ad79c956 (diff)
downloadlinux-2d6244b3cc936c35101171dab0aa9123e96f800c.tar.gz
Merge tag 'metag-fixes-for-v3.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag
Pull arch/metag fixes from James Hogan:
 "This is just a single fix to fix bad UDP checksums sometimes being
  generated to IP addresses *.*.255.255"

* tag 'metag-fixes-for-v3.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
  metag: checksum.h: fix carry in csum_tcpudp_nofold
-rw-r--r--arch/metag/include/asm/checksum.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/metag/include/asm/checksum.h b/arch/metag/include/asm/checksum.h
index 999bf761a732..08dd1cc65799 100644
--- a/arch/metag/include/asm/checksum.h
+++ b/arch/metag/include/asm/checksum.h
@@ -64,7 +64,8 @@ static inline __wsum csum_tcpudp_nofold(__be32 saddr, __be32 daddr,
 					__wsum sum)
 {
 	unsigned long len_proto = (proto + len) << 8;
-	asm ("ADD    %0, %0, %1\n"
+	asm ("ADDS   %0, %0, %1\n"
+	     "ADDCS  %0, %0, #1\n"
 	     "ADDS   %0, %0, %2\n"
 	     "ADDCS  %0, %0, #1\n"
 	     "ADDS   %0, %0, %3\n"