1 From: Jiri Bohac <jbohac@suse.cz>
2 Patch-mainline: 2.6.31-rc9; 5afe18d2f58812f3924edbd215464e5e3e8545e7
3 Subject: IA64: fix csum_ipv6_magic()
6 The 32-bit parameters (len and csum) of csum_ipv6_magic() are passed in 64-bit
7 registers in2 and in4. The high order 32 bits of the registers were never
8 cleared, and garbage was sometimes calculated into the checksum.
10 Fix this by clearing the high order 32 bits of these registers.
12 Signed-off-by: Jiri Bohac <jbohac@suse.cz>
13 Signed-off-by: Tony Luck <tony.luck@intel.com>
15 diff --git a/arch/ia64/lib/ip_fast_csum.S b/arch/ia64/lib/ip_fast_csum.S
16 index 1f86aeb..620d9dc 100644
17 --- a/arch/ia64/lib/ip_fast_csum.S
18 +++ b/arch/ia64/lib/ip_fast_csum.S
19 @@ -96,20 +96,22 @@ END(ip_fast_csum)
20 GLOBAL_ENTRY(csum_ipv6_magic)
23 - dep r15=in3,in2,32,16
29 + dep r15=in3,in2,32,16