summaryrefslogtreecommitdiffstats
path: root/arch/metag
diff options
context:
space:
mode:
authorLinus Torvalds2013-07-10 19:14:35 +0200
committerLinus Torvalds2013-07-10 19:14:35 +0200
commit2d6244b3cc936c35101171dab0aa9123e96f800c (patch)
treeb35438219b5cbd325c3f2661f2a145ca855537bd /arch/metag
parentMerge tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/g... (diff)
parentmetag: checksum.h: fix carry in csum_tcpudp_nofold (diff)
downloadkernel-qcow2-linux-2d6244b3cc936c35101171dab0aa9123e96f800c.tar.gz
kernel-qcow2-linux-2d6244b3cc936c35101171dab0aa9123e96f800c.tar.xz
kernel-qcow2-linux-2d6244b3cc936c35101171dab0aa9123e96f800c.zip
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
Diffstat (limited to 'arch/metag')
-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"