mtd: rawnand: intel: Fix an error handling path in 'ebu_dma_start()'

If 'dmaengine_prep_slave_single()' fails, we must undo a previous
'dma_map_single()' call, as already done in all the other error handling
paths of this function.

Fixes: 0b1039f016 ("mtd: rawnand: Add NAND controller support on Intel LGM SoC")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20210124073955.728797-1-christophe.jaillet@wanadoo.fr
This commit is contained in:
Christophe JAILLET 2021-01-24 08:39:55 +01:00 коммит произвёл Miquel Raynal
Родитель 94d07f6a53
Коммит 073abfa7ea
1 изменённых файлов: 4 добавлений и 2 удалений

Просмотреть файл

@ -318,8 +318,10 @@ static int ebu_dma_start(struct ebu_nand_controller *ebu_host, u32 dir,
} }
tx = dmaengine_prep_slave_single(chan, buf_dma, len, dir, flags); tx = dmaengine_prep_slave_single(chan, buf_dma, len, dir, flags);
if (!tx) if (!tx) {
return -ENXIO; ret = -ENXIO;
goto err_unmap;
}
tx->callback = callback; tx->callback = callback;
tx->callback_param = ebu_host; tx->callback_param = ebu_host;