| From 7d0c79d0e3400f13f448873448380c841028b6f1 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 10 Aug 2021 11:17:27 +0300 |
| Subject: spi: spi-pic32: Fix issue with uninitialized dma_slave_config |
| |
| From: Tony Lindgren <tony@atomide.com> |
| |
| [ Upstream commit 976c1de1de147bb7f4e0d87482f375221c05aeaf ] |
| |
| Depending on the DMA driver being used, the struct dma_slave_config may |
| need to be initialized to zero for the unused data. |
| |
| For example, we have three DMA drivers using src_port_window_size and |
| dst_port_window_size. If these are left uninitialized, it can cause DMA |
| failures. |
| |
| For spi-pic32, this is probably not currently an issue but is still good to |
| fix though. |
| |
| Fixes: 1bcb9f8ceb67 ("spi: spi-pic32: Add PIC32 SPI master driver") |
| Cc: Purna Chandra Mandal <purna.mandal@microchip.com> |
| Cc: Peter Ujfalusi <peter.ujfalusi@gmail.com> |
| Cc: Vinod Koul <vkoul@kernel.org> |
| Signed-off-by: Tony Lindgren <tony@atomide.com> |
| Link: https://lore.kernel.org/r/20210810081727.19491-2-tony@atomide.com |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/spi/spi-pic32.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| diff --git a/drivers/spi/spi-pic32.c b/drivers/spi/spi-pic32.c |
| index 104bde153efd..5eb7b61bbb4d 100644 |
| --- a/drivers/spi/spi-pic32.c |
| +++ b/drivers/spi/spi-pic32.c |
| @@ -361,6 +361,7 @@ static int pic32_spi_dma_config(struct pic32_spi *pic32s, u32 dma_width) |
| struct dma_slave_config cfg; |
| int ret; |
| |
| + memset(&cfg, 0, sizeof(cfg)); |
| cfg.device_fc = true; |
| cfg.src_addr = pic32s->dma_base + buf_offset; |
| cfg.dst_addr = pic32s->dma_base + buf_offset; |
| -- |
| 2.30.2 |
| |