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
2006-10-08 02:38:28 +01:00
2006-09-27 13:37:42 +01:00
2006-11-22 23:34:02 +00:00
2006-11-30 01:14:43 +00:00
2006-10-01 23:16:59 +01:00
2006-09-27 13:37:57 +01:00
2006-12-12 01:46:24 +00:00
2006-07-13 21:26:04 +01:00
2006-07-13 21:26:04 +01:00
2006-07-13 21:26:04 +01:00
2006-10-04 18:06:15 +01:00
2006-09-27 13:37:49 +01:00
2006-12-09 01:03:58 +00:00
2006-07-13 21:26:04 +01:00
2006-07-13 21:26:04 +01:00
2006-07-13 21:26:04 +01:00
2006-09-27 13:37:42 +01:00
2006-10-31 20:13:23 +00:00
2006-12-12 01:46:24 +00:00
2006-10-03 23:01:26 +02:00
2006-10-19 17:55:14 +01:00
2006-11-30 01:14:43 +00:00
2006-07-13 21:25:58 +01:00
2006-11-01 17:46:09 +00:00
2006-12-04 22:43:14 +00:00
2006-12-04 22:43:14 +00:00
2006-12-04 22:43:14 +00:00
2006-12-09 01:04:00 +00:00
2006-11-30 01:14:50 +00:00
2006-12-13 09:27:08 -08:00
2007-01-24 19:23:22 +00:00
2006-12-12 01:46:24 +00:00
2006-07-13 21:26:04 +01:00
2006-11-30 01:14:45 +00:00
2006-07-13 21:26:04 +01:00
2006-12-01 14:52:01 -08:00
2006-10-31 20:13:23 +00:00
2006-12-07 08:39:41 -08:00
2006-11-30 01:14:51 +00:00
2006-09-27 13:37:48 +01:00
2006-10-21 23:17:35 +01:00
2006-10-09 23:20:48 +01:00
2006-12-07 08:39:21 -08:00
2006-11-30 01:14:43 +00:00
2007-01-24 19:23:21 +00:00
2006-12-07 08:39:21 -08:00
2006-12-06 20:16:09 +00:00
2006-07-13 21:26:08 +01:00
2006-11-30 01:14:40 +00:00
2006-10-08 02:38:28 +01:00
2007-01-08 21:41:04 +00:00
2007-01-23 18:26:47 +00:00
2006-09-27 13:37:56 +01:00
2006-11-30 01:14:44 +00:00
2006-10-08 02:38:28 +01:00
2006-10-31 20:13:22 +00:00
2006-11-30 01:14:45 +00:00
2006-09-27 13:37:49 +01:00
2006-10-08 02:38:28 +01:00
2006-12-13 09:27:08 -08:00
2006-12-10 21:52:11 +00:00
2006-11-01 17:46:09 +00:00
2006-12-06 20:16:08 +00:00
2006-12-06 20:16:08 +00:00
2006-11-30 01:14:40 +00:00
2006-12-10 21:52:11 +00:00
2006-10-03 17:59:17 +01:00
2006-12-07 08:39:46 -08:00
2006-09-27 13:37:45 +01:00
2006-12-04 22:43:14 +00:00
2006-10-11 19:30:59 +01:00
2006-10-01 23:16:59 +01:00
2006-12-10 21:52:11 +00:00
2006-12-08 08:28:56 -08:00
2007-01-24 19:23:21 +00:00
2006-11-30 01:14:49 +00:00
2006-09-27 13:37:40 +01:00
2006-12-04 19:41:15 -08:00
2006-12-07 08:39:37 -08:00
2006-09-27 13:37:40 +01:00
2006-12-09 01:03:58 +00:00