Atsushi Nemoto 66218da212 [MIPS] Fix wrong checksum calculation on 64-bit MIPS
The commit 8e3d8433d8c22ca6c42cba4a67d300c39aae7822 ([NET]: MIPS
checksum annotations and cleanups) broke 64-bit MIPS.

The problem is the commit replaces some unsigned long with __be32.  On
64bit MIPS, a __be32 (i.e. unsigned int) value is represented as a
sign-extented 32-bit value in a 64-bit argument register.  So the
address 192.168.0.1 (0xc0a80001) is passed as 0xffffffffc0a80001 to
csum_tcpudp_nofold() but the asm code in the function expects
0x00000000c0a80001, therefore it returns a wrong checksum.  Explicit
cast to unsigned long is needed to drop high 32bit.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-01-24 19:23:22 +00:00
..
2006-11-30 01:14:46 +00:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-10-04 18:06:15 +01:00
2006-10-03 23:01:26 +02:00
2006-10-19 17:55:14 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-02-08 17:52:25 +00:00
2006-11-01 17:46:09 +00:00
2005-09-07 16:57:21 -07:00
2005-04-16 15:20:36 -07:00
2005-10-29 19:30:34 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-10-31 20:13:23 +00:00
2005-04-16 15:20:36 -07:00
2005-11-07 18:05:40 +00:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-07-13 21:26:08 +01:00
2006-11-30 01:14:40 +00:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2007-01-08 21:41:04 +00:00
2007-01-23 18:26:47 +00:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-11-30 01:14:44 +00:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-02-15 15:32:22 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-11-01 17:46:09 +00:00
2006-11-30 01:14:40 +00:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-06-19 17:39:19 +01:00
2005-04-16 15:20:36 -07:00
2006-04-19 04:14:22 +02:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-06-29 16:58:06 -07:00
2005-04-16 15:20:36 -07:00
2006-06-06 00:15:20 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2007-01-24 19:23:21 +00:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-12-07 08:39:37 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00