dmaengine: sh: fix some NULL dereferences
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 27 Aug 2021 08:54:10 +0000 (11:54 +0300)
committerVinod Koul <vkoul@kernel.org>
Tue, 31 Aug 2021 16:20:23 +0000 (21:50 +0530)
The dma_free_coherent() function needs a valid device pointer or it will
crash.

Fixes: 550c591a89a1 ("dmaengine: sh: Add DMAC driver for RZ/G2L SoC")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20210827085410.GA9183@kili
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/sh/rz-dmac.c

index 3d1c239..f9f30cb 100644 (file)
@@ -919,7 +919,7 @@ err:
        for (i = 0; i < channel_num; i++) {
                struct rz_dmac_chan *channel = &dmac->channels[i];
 
        for (i = 0; i < channel_num; i++) {
                struct rz_dmac_chan *channel = &dmac->channels[i];
 
-               dma_free_coherent(NULL,
+               dma_free_coherent(&pdev->dev,
                                  sizeof(struct rz_lmdesc) * DMAC_NR_LMDESC,
                                  channel->lmdesc.base,
                                  channel->lmdesc.base_dma);
                                  sizeof(struct rz_lmdesc) * DMAC_NR_LMDESC,
                                  channel->lmdesc.base,
                                  channel->lmdesc.base_dma);
@@ -936,7 +936,7 @@ static int rz_dmac_remove(struct platform_device *pdev)
        for (i = 0; i < dmac->n_channels; i++) {
                struct rz_dmac_chan *channel = &dmac->channels[i];
 
        for (i = 0; i < dmac->n_channels; i++) {
                struct rz_dmac_chan *channel = &dmac->channels[i];
 
-               dma_free_coherent(NULL,
+               dma_free_coherent(&pdev->dev,
                                  sizeof(struct rz_lmdesc) * DMAC_NR_LMDESC,
                                  channel->lmdesc.base,
                                  channel->lmdesc.base_dma);
                                  sizeof(struct rz_lmdesc) * DMAC_NR_LMDESC,
                                  channel->lmdesc.base,
                                  channel->lmdesc.base_dma);