OSDN Git Service

spi: sh-msiof: Fix DMA transfer size check
authorHiromitsu Yamasaki <hiromitsu.yamasaki.ym@renesas.com>
Thu, 2 Nov 2017 09:32:36 +0000 (10:32 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 9 Dec 2017 21:01:48 +0000 (22:01 +0100)
[ Upstream commit 36735783fdb599c94b9c86824583df367c65900b ]

DMA supports 32-bit words only,
even if BITLEN1 of SITMDR2 register is 16bit.

Fixes: b0d0ce8b6b91 ("spi: sh-msiof: Add DMA support")
Signed-off-by: Hiromitsu Yamasaki <hiromitsu.yamasaki.ym@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Dirk Behme <dirk.behme@de.bosch.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/spi/spi-sh-msiof.c

index 1de3a77..cbf02eb 100644 (file)
@@ -862,7 +862,7 @@ static int sh_msiof_transfer_one(struct spi_master *master,
                                break;
                        copy32 = copy_bswap32;
                } else if (bits <= 16) {
-                       if (l & 1)
+                       if (l & 3)
                                break;
                        copy32 = copy_wswap32;
                } else {