]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
openrisc: delay: fix loops calculation for __const_udelay
authorWill Deacon <will.deacon@arm.com>
Tue, 7 Aug 2012 16:59:53 +0000 (17:59 +0100)
committerJonas Bonn <jonas@southpole.se>
Sat, 1 Sep 2012 14:36:03 +0000 (16:36 +0200)
commit439164663e5d1753360ff84ea4d5c598459e5d50
tree4356a81bb01d8ace51b721aa76ca41cb93f4cc28
parentfea7a08acb13524b47711625eebea40a0ede69a0
openrisc: delay: fix loops calculation for __const_udelay

The openrisc implementation of __const_udelay casts the result of a
32-bit multiplication to 64 bits and passes the top 32 bits to __delay.
Since there are no casts on the arguments, this results in a __delay of
zero, regardless of the xloops parameter.

This patch fixes the problem by casting xloops to (unsigned long long),
ensuring that the multiplication is not truncated.

Cc: Jon Masters <jcm@redhat.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Jonas Bonn <jonas@southpole.se>
arch/openrisc/lib/delay.c