VME: Correct read/write alignment algorithm
authorMartyn Welch <martyn.welch@ge.com>
Fri, 7 Feb 2014 15:48:56 +0000 (15:48 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Feb 2014 16:16:14 +0000 (08:16 -0800)
commitf0342e66b397947ed8c3eef8c37b5ca2d5b1bb50
tree7e3fbaaa0596dd9379db16957b5638ba2763dc33
parent5cb906c7035f03a3a44fecece9d3ff8fcc75d6e0
VME: Correct read/write alignment algorithm

In order to ensure the correct width cycles on the VME bus, the VME bridge
drivers implement an algorithm to utilise the largest possible width reads and
writes whilst maintaining natural alignment constraints. The algorithm
currently looks at the start address rather than the current read/write address
when determining whether a 16-bit width cycle is required to get to 32-bit
alignment.  This results in incorrect alignment,

Reported-by: Jim Strouth <james.strouth@ge.com>
Tested-by: Jim Strouth <james.strouth@ge.com>
Signed-off-by: Martyn Welch <martyn.welch@ge.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/vme/bridges/vme_ca91cx42.c
drivers/vme/bridges/vme_tsi148.c