android_kernel_xiaomi_sdm845/arch/s390/lib
Martin Schwidefsky 4fa81ed277 [S390] __div64_31 broken for CONFIG_MARCH_G5
The implementation of __div64_31 for G5 machines is broken. The comments
in __div64_31 are correct, only the code does not do what the comments
say. The part "If the remainder has overflown subtract base and increase
the quotient" is only partially realized, the base is subtracted correctly
but the quotient is only increased if the dividend had the last bit set.
Using the correct instruction fixes the problem.

Cc: stable@kernel.org
Reported-by: Frans Pop <elendil@planet.nl>
Tested-by: Frans Pop <elendil@planet.nl>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2009-03-18 13:28:12 +01:00
..
delay.c [S390] Move private simple udelay function to arch/s390/lib/delay.c. 2008-10-10 21:33:58 +02:00
div64.c [S390] __div64_31 broken for CONFIG_MARCH_G5 2009-03-18 13:28:12 +01:00
Makefile [S390] remove -traditional 2008-04-30 13:38:44 +02:00
qrnnd.S [S390] Calibrate delay and bogomips. 2007-02-05 21:18:31 +01:00
spinlock.c [S390] do local_irq_restore while spinning in spin_lock_irqsave. 2008-01-26 14:11:31 +01:00
string.c [S390] Fix sparse warnings. 2006-07-12 16:41:55 +02:00
uaccess_mvcos.c [S390] uaccess_mvcos: #ifdef config dependent code. 2008-04-30 13:38:46 +02:00
uaccess_pt.c [S390] uaccess: Always access the correct address space. 2008-04-17 07:47:06 +02:00
uaccess_std.c [S390] Fix futex_atomic_cmpxchg_std inline assembly. 2008-02-19 15:29:35 +01:00
uaccess.h [S390] Get rid of a lot of sparse warnings. 2007-02-05 21:16:47 +01:00