• Arnd Bergmann's avatar
    dma-coherent: fix dma_declare_coherent_memory() logic error · d35b0996
    Arnd Bergmann authored
    A recent change interprets the return code of dma_init_coherent_memory
    as an error value, but it is instead a boolean, where 'true' indicates
    success. This leads causes the caller to always do the wrong thing,
    and also triggers a compile-time warning about it:
    
    drivers/base/dma-coherent.c: In function 'dma_declare_coherent_memory':
    drivers/base/dma-coherent.c:99:15: error: 'mem' may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
    I ended up changing the code a little more, to give use the usual
    error handling, as this seemed the best way to fix up the warning
    and make the code look reasonable at the same time.
    
    Fixes: 2436bdcd ("dma-coherent: remove the DMA_MEMORY_MAP and DMA_MEMORY_IO flags")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    d35b0996
dma-coherent.c 11 KB