On 05-12-19, 12:54, Lukas Wunner wrote: > dmaengine_desc_set_reuse() allocates a struct dma_slave_caps on the > stack, populates it using dma_get_slave_caps() and then accesses one > of its members. > > However dma_get_slave_caps() may fail and this isn't accounted for, > leading to a legitimate warning of gcc-4.9 (but not newer versions): > > In file included from drivers/spi/spi-bcm2835.c:19:0: > drivers/spi/spi-bcm2835.c: In function 'dmaengine_desc_set_reuse': > >> include/linux/dmaengine.h:1370:10: warning: 'caps.descriptor_reuse' is used uninitialized in this function [-Wuninitialized] > if (caps.descriptor_reuse) { > > Fix it, thereby also silencing the gcc-4.9 warning. > > The issue has been present for 4 years but surfaces only now that > the first caller of dmaengine_desc_set_reuse() has been added in > spi-bcm2835.c. Another user of reusable DMA descriptors has existed > for a while in pxa_camera.c, but it sets the DMA_CTRL_REUSE flag > directly instead of calling dmaengine_desc_set_reuse(). Nevertheless, > tag this commit for stable in case there are out-of-tree users. Applied, thanks -- ~Vinod