diff --git a/[refs] b/[refs] index 554e5a22825f..3521d4b27799 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c563077e526d130b8c9aab4e75116551eb5fdc2d +refs/heads/master: 9513e5e3f5a6b429da8a9fd4330f71f1e547c8e0 diff --git a/trunk/include/asm-s390/spinlock.h b/trunk/include/asm-s390/spinlock.h index 8ff10300f7ee..321b23bba1ec 100644 --- a/trunk/include/asm-s390/spinlock.h +++ b/trunk/include/asm-s390/spinlock.h @@ -47,7 +47,7 @@ extern int _raw_spin_trylock_retry(spinlock_t *lp, unsigned int pc); static inline void _raw_spin_lock(spinlock_t *lp) { - unsigned long pc = (unsigned long) __builtin_return_address(0); + unsigned long pc = 1 | (unsigned long) __builtin_return_address(0); if (unlikely(_raw_compare_and_swap(&lp->lock, 0, pc) != 0)) _raw_spin_lock_wait(lp, pc); @@ -55,7 +55,7 @@ static inline void _raw_spin_lock(spinlock_t *lp) static inline int _raw_spin_trylock(spinlock_t *lp) { - unsigned long pc = (unsigned long) __builtin_return_address(0); + unsigned long pc = 1 | (unsigned long) __builtin_return_address(0); if (likely(_raw_compare_and_swap(&lp->lock, 0, pc) == 0)) return 1;