| From 5c0ba57744b1422d528f19430dd66d6803cea86f Mon Sep 17 00:00:00 2001 |
| From: Arnd Bergmann <arnd@arndb.de> |
| Date: Tue, 25 Oct 2016 22:57:10 +0200 |
| Subject: spi: fsl-espi: avoid processing uninitalized data on error |
| |
| From: Arnd Bergmann <arnd@arndb.de> |
| |
| commit 5c0ba57744b1422d528f19430dd66d6803cea86f upstream. |
| |
| When we get a spurious interrupt in fsl_espi_irq, we end up |
| processing four uninitalized bytes of data, as shown in this |
| warning message: |
| |
| drivers/spi/spi-fsl-espi.c: In function 'fsl_espi_irq': |
| drivers/spi/spi-fsl-espi.c:462:4: warning: 'rx_data' may be used uninitialized in this function [-Wmaybe-uninitialized] |
| |
| This adds another check so we skip the data in this case. |
| |
| Fixes: 6319a68011b8 ("spi/fsl-espi: avoid infinite loops on fsl_espi_cpu_irq()") |
| Signed-off-by: Arnd Bergmann <arnd@arndb.de> |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/spi/spi-fsl-espi.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/spi/spi-fsl-espi.c |
| +++ b/drivers/spi/spi-fsl-espi.c |
| @@ -581,7 +581,7 @@ void fsl_espi_cpu_irq(struct mpc8xxx_spi |
| |
| mspi->len -= rx_nr_bytes; |
| |
| - if (mspi->rx) |
| + if (rx_nr_bytes && mspi->rx) |
| mspi->get_rx(rx_data, mspi); |
| } |
| |