xen/events/fifo: correctly align bitops
authorVladimir Murzin <murzin.v@gmail.com>
Sun, 27 Apr 2014 09:09:12 +0000 (10:09 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 May 2014 20:20:29 +0000 (13:20 -0700)
commitf45babbd21f7e603acdcd620afa77571fbb283d5
treeecf2862191c8cbb9ed179a7288102d5f3013389c
parent540299d7c8e1946f3af29a632661e3b49cd12fd5
xen/events/fifo: correctly align bitops

commit 05a812ac474d0d6aef6d54b66bb08b81abde79c6 upstream.

FIFO event channels require bitops on 32-bit aligned values (the event
words).  Linux's bitops require unsigned long alignment which may be
64-bits.

On arm64 an incorrectly unaligned access will fault.

Fix this by aligning the bitops along with an adjustment for bit
position and using an unsigned long for the local copy of the ready
word.

Signed-off-by: Vladimir Murzin <murzin.v@gmail.com>
Tested-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>
Reviewed-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/xen/events/events_fifo.c