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:
Родитель
94d07f6a53
Коммит
073abfa7ea
|
@ -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;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче