Skip to content
Commit 374b3bf8 authored by John David Anglin's avatar John David Anglin Committed by Helge Deller
Browse files

parisc: Fix double-word compare and exchange in LWS code on 32-bit kernels



As discussed on the debian-hppa list, double-wordcompare and exchange
operations fail on 32-bit kernels.  Looking at the code, I realized that
the ",ma" completer does the wrong thing in the  "ldw,ma  4(%r26), %r29"
instruction.  This increments %r26 and causes the following store to
write to the wrong location.

Note by Helge Deller:
The patch applies cleanly to stable kernel series if this upstream
commit is merged in advance:
f4125cfd ("parisc: Avoid trashing sr2 and sr3 in LWS code").

Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
Tested-by: default avatarChristoph Biedl <debian.axhn@manchmal.in-ulm.de>
Fixes: 89206491 ("parisc: Implement new LWS CAS supporting 64 bit operations.")
Cc: stable@vger.kernel.org # 3.13+
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent 73d3393a
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment