spi: spi-fsl-dspi: Avoid reading more data than written in EOQ mode
authorVladimir Oltean <vladimir.oltean@nxp.com>
Wed, 18 Mar 2020 00:15:55 +0000 (02:15 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 18 Mar 2020 22:44:56 +0000 (22:44 +0000)
commitc6c1e30a789b08de2e075cbd9705e81af3d2c7cc
tree20056e13fe9ede82ab9734c6bf98fedc09dbad27
parenta957499bd437720d082d92657b7eb5cf5a62e893
spi: spi-fsl-dspi: Avoid reading more data than written in EOQ mode

If dspi->words_in_flight is populated with the hardware FIFO size,
then in dspi_fifo_read it will attempt to read more data at the end of a
buffer that is not a multiple of 16 bytes in length. It will probably
time out attempting to do so.

So limit the num_fifo_entries variable to the actual number of FIFO
entries that is going to be used.

Fixes: d59c90a2400f ("spi: spi-fsl-dspi: Convert TCFQ users to XSPI FIFO mode")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Tested-by: Michael Walle <michael@walle.cc>
Link: https://lore.kernel.org/r/20200318001603.9650-5-olteanv@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-fsl-dspi.c