spi/fsl-espi: avoid infinite loops on fsl_espi_cpu_irq()
authorNobuteru Hayashi <hayashi.nbb@ncos.nec.co.jp>
Fri, 18 Mar 2016 11:35:21 +0000 (11:35 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 28 Mar 2016 18:41:18 +0000 (19:41 +0100)
commit6319a68011b86fa61dc63e94dc4fb716628037f3
tree2dbe35310b327e166e31cdc4f0e4752ce7889cbb
parentaa70e567c4f0eeb849c6bcef3685bdf1fc3ca19d
spi/fsl-espi: avoid infinite loops on fsl_espi_cpu_irq()

It brought nearly infinite loops, and was possible to be
occurred only if the SPI transaction total size are not
alighed with 4. Loops are here at while (tmp--),
tmp is unsigned, and set it with minus value.

The loops are executed as a result of unexpected RX interrupt
occurrence after that. This interrupt may be hardware eratta
and is not fixed.

Fix mspi->len from minus value to 0 and print warning message.

Signed-off-by: Nobuteru Hayashi <hayashi.nbb@ncos.nec.co.jp>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-fsl-espi.c