+ Vinod On Fri, 21 Jan 2022 at 21:38, Sergey Shtylyov <s.shtylyov@xxxxxx> wrote: > > The 'dma_slave_config::{src|dst}_addr_width' fields have the *enum* type > which isn't isomorphic with the *bool* type, however is used as a boolean > expression. Use the *enum* dma_slave_buswidth's value corresponding to 0 > instead. > > Found by Linux Verification Center (linuxtesting.org) with the SVACE static > analysis tool. I have no strong opinion, but just wanted to make sure this is inline with what Vinod wants. There are not so many users checking DMA_SLAVE_BUSWIDTH_UNDEFINED, perhaps we should simply drop it and instead leave the checks below as is? > > Signed-off-by: Sergey Shtylyov <s.shtylyov@xxxxxx> Kind regards Uffe > > --- > This patch is against the 'next' branch of Ulf Hansson's 'mmc.git' repo. > > drivers/mmc/host/renesas_sdhi_sys_dmac.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > Index: mmc/drivers/mmc/host/renesas_sdhi_sys_dmac.c > =================================================================== > --- mmc.orig/drivers/mmc/host/renesas_sdhi_sys_dmac.c > +++ mmc/drivers/mmc/host/renesas_sdhi_sys_dmac.c > @@ -370,7 +370,7 @@ static void renesas_sdhi_sys_dmac_reques > cfg.dst_addr = res->start + > (CTL_SD_DATA_PORT << host->bus_shift); > cfg.dst_addr_width = priv->dma_priv.dma_buswidth; > - if (!cfg.dst_addr_width) > + if (cfg.dst_addr_width == DMA_SLAVE_BUSWIDTH_UNDEFINED) > cfg.dst_addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES; > cfg.src_addr = 0; > ret = dmaengine_slave_config(host->chan_tx, &cfg); > @@ -389,7 +389,7 @@ static void renesas_sdhi_sys_dmac_reques > cfg.direction = DMA_DEV_TO_MEM; > cfg.src_addr = cfg.dst_addr + host->pdata->dma_rx_offset; > cfg.src_addr_width = priv->dma_priv.dma_buswidth; > - if (!cfg.src_addr_width) > + if (cfg.src_addr_width == DMA_SLAVE_BUSWIDTH_UNDEFINED) > cfg.src_addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES; > cfg.dst_addr = 0; > ret = dmaengine_slave_config(host->chan_rx, &cfg);