Commit-ID: 50db45f2f010e9251dae644c5fb86b321d9ac815 Gitweb: http://git.kernel.org/tip/50db45f2f010e9251dae644c5fb86b321d9ac815 Author: David Howells <dhowells@xxxxxxxxxx> AuthorDate: Tue, 4 May 2010 13:42:53 +0100 Committer: H. Peter Anvin <hpa@xxxxxxxxx> CommitDate: Tue, 4 May 2010 10:15:54 -0700 x86-64: Use the proper register width in call_rwsem_wait() The x86_64 call_rwsem_wait() treats the active state counter part of the R/W semaphore state as being 16-bit when it's actually 32-bit (it's half of the 64-bit state). It should do "decl %edx" not "decw %dx". [ hpa note: decl %edx will clear the upper half of %rdx, but the value of %rdx is dead after this point so that is OK. ] Signed-off-by: David Howells <dhowells@xxxxxxxxxx> LKML-Reference: <20100504124253.30994.79841.stgit@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> --- arch/x86/lib/rwsem_64.S | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/x86/lib/rwsem_64.S b/arch/x86/lib/rwsem_64.S index 15acecf..41fcf00 100644 --- a/arch/x86/lib/rwsem_64.S +++ b/arch/x86/lib/rwsem_64.S @@ -60,7 +60,7 @@ ENTRY(call_rwsem_down_write_failed) ENDPROC(call_rwsem_down_write_failed) ENTRY(call_rwsem_wake) - decw %dx /* do nothing if still outstanding active readers */ + decl %edx /* do nothing if still outstanding active readers */ jnz 1f save_common_regs movq %rax,%rdi -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html