From 2ed90ab27d4188f33f66c270191096fa4c237bae Mon Sep 17 00:00:00 2001 From: Huibin Hong Date: Tue, 21 Aug 2018 17:11:39 +0800 Subject: [PATCH] spi: rockchip: init rxconf and txconf to 0 Dmac pl330 adds src_interlace_size of dma_slave_config rxconf. If rxconf is local variable, src_interlace_size may be non zero, which causes wrong process. Fixes: ddd2e87ad41e ("dmaengine: pl330: add support for interlace size config") Change-Id: Ib301c7ca4a1175bafd0631cb4deea4baa60eebc7 Signed-off-by: Huibin Hong Signed-off-by: Yifeng Zhao --- drivers/spi/spi-rockchip.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/spi/spi-rockchip.c b/drivers/spi/spi-rockchip.c index f5d6cfcb672b..c7761c6e14d9 100644 --- a/drivers/spi/spi-rockchip.c +++ b/drivers/spi/spi-rockchip.c @@ -450,6 +450,9 @@ static int rockchip_spi_prepare_dma(struct rockchip_spi *rs) struct dma_slave_config rxconf, txconf; struct dma_async_tx_descriptor *rxdesc, *txdesc; + memset(&rxconf, 0, sizeof(struct dma_slave_config)); + memset(&txconf, 0, sizeof(struct dma_slave_config)); + spin_lock_irqsave(&rs->lock, flags); rs->state &= ~RXBUSY; rs->state &= ~TXBUSY;