Message ID | 20210810081644.19353-2-tony@atomide.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/3] mmc: sdhci: Fix issue with uninitialized dma_slave_config | expand |
On Tue, 10 Aug 2021 at 10:16, Tony Lindgren <tony@atomide.com> wrote: > > 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 dw_mmc, this is probably not currently an issue but is still good to > fix though. > > Fixes: 3fc7eaef44db ("mmc: dw_mmc: Add external dma interface support") > Cc: Shawn Lin <shawn.lin@rock-chips.com> > Cc: Jaehoon Chung <jh80.chung@samsung.com> > Cc: Peter Ujfalusi <peter.ujfalusi@gmail.com> > Cc: Vinod Koul <vkoul@kernel.org> > Signed-off-by: Tony Lindgren <tony@atomide.com> Applied for next, thanks! Kind regards Uffe > --- > drivers/mmc/host/dw_mmc.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c > --- a/drivers/mmc/host/dw_mmc.c > +++ b/drivers/mmc/host/dw_mmc.c > @@ -782,6 +782,7 @@ static int dw_mci_edmac_start_dma(struct dw_mci *host, > int ret = 0; > > /* Set external dma config: burst size, burst width */ > + memset(&cfg, 0, sizeof(cfg)); > cfg.dst_addr = host->phy_regs + fifo_offset; > cfg.src_addr = cfg.dst_addr; > cfg.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; > -- > 2.32.0
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -782,6 +782,7 @@ static int dw_mci_edmac_start_dma(struct dw_mci *host, int ret = 0; /* Set external dma config: burst size, burst width */ + memset(&cfg, 0, sizeof(cfg)); cfg.dst_addr = host->phy_regs + fifo_offset; cfg.src_addr = cfg.dst_addr; cfg.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
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 dw_mmc, this is probably not currently an issue but is still good to fix though. Fixes: 3fc7eaef44db ("mmc: dw_mmc: Add external dma interface support") Cc: Shawn Lin <shawn.lin@rock-chips.com> Cc: Jaehoon Chung <jh80.chung@samsung.com> Cc: Peter Ujfalusi <peter.ujfalusi@gmail.com> Cc: Vinod Koul <vkoul@kernel.org> Signed-off-by: Tony Lindgren <tony@atomide.com> --- drivers/mmc/host/dw_mmc.c | 1 + 1 file changed, 1 insertion(+)