Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

spi: spi-pic32: Fix issue with uninitialized dma_slave_config

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>

authored by

Tony Lindgren and committed by
Mark Brown
976c1de1 209ab223

+1
+1
drivers/spi/spi-pic32.c
··· 361 361 struct dma_slave_config cfg; 362 362 int ret; 363 363 364 + memset(&cfg, 0, sizeof(cfg)); 364 365 cfg.device_fc = true; 365 366 cfg.src_addr = pic32s->dma_base + buf_offset; 366 367 cfg.dst_addr = pic32s->dma_base + buf_offset;