]> git.baikalelectronics.ru Git - kernel.git/commit
s390/spinlock: fix system hang with spin_retry <= 0
authorGerald Schaefer <gerald.schaefer@de.ibm.com>
Tue, 6 May 2014 17:41:36 +0000 (19:41 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 20 May 2014 06:58:52 +0000 (08:58 +0200)
commit818f7d8a1eab9fc9835bc8dcebe5da0f6a8dc7f7
tree0ff439559cfcfc2bac5eb1b41d6412694fd49a03
parent9e1e64ae15dd347250b88e8401d4175a0fc06eb0
s390/spinlock: fix system hang with spin_retry <= 0

On LPAR, when spin_retry is set to <= 0, arch_spin_lock_wait() and
arch_spin_lock_wait_flags() may end up in a while(1) loop w/o doing
any compare and swap operation. To fix this, use do/while instead of
for loop.

Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/lib/spinlock.c