]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-cris/arch-v32/checksum.h
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
[linux-2.6-omap-h63xx.git] / include / asm-cris / arch-v32 / checksum.h
index 97ef89efea62ca9636fffc50f09aa52d7dac8dbe..e5dcfce6e0dc1a5267739b67d9c8bab4233fb777 100644 (file)
@@ -9,11 +9,11 @@
  * checksum. Which means it would be necessary to split all those into
  * 16-bit components and then add.
  */
-static inline unsigned int
-csum_tcpudp_nofold(unsigned long saddr, unsigned long daddr,
-                  unsigned short len, unsigned short proto, unsigned int sum)
+static inline __wsum
+csum_tcpudp_nofold(__be32 saddr, __be32 daddr,
+                  unsigned short len, unsigned short proto, __wsum sum)
 {
-       int res;
+       __wsum res;
 
        __asm__ __volatile__ ("add.d %2, %0\n\t"
                              "addc %3, %0\n\t"
@@ -21,7 +21,7 @@ csum_tcpudp_nofold(unsigned long saddr, unsigned long daddr,
                              "addc 0, %0\n\t"
                              : "=r" (res)
                              : "0" (sum), "r" (daddr), "r" (saddr), \
-                             "r" ((ntohs(len) << 16) + (proto << 8)));
+                             "r" ((len + proto) << 8));
 
        return res;
 }