mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 04:56:13 +02:00
mtd: rawnand: renesas: Add missing check after DMA map
The DMA map functions can fail and should be tested for errors.
Fixes: d8701fe890 ("mtd: rawnand: renesas: Add new NAND controller driver")
Cc: stable@vger.kernel.org
Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
This commit is contained in:
parent
fdfb040d0b
commit
79e441ee47
|
|
@ -426,6 +426,9 @@ static int rnandc_read_page_hw_ecc(struct nand_chip *chip, u8 *buf,
|
|||
/* Configure DMA */
|
||||
dma_addr = dma_map_single(rnandc->dev, rnandc->buf, mtd->writesize,
|
||||
DMA_FROM_DEVICE);
|
||||
if (dma_mapping_error(rnandc->dev, dma_addr))
|
||||
return -ENOMEM;
|
||||
|
||||
writel(dma_addr, rnandc->regs + DMA_ADDR_LOW_REG);
|
||||
writel(mtd->writesize, rnandc->regs + DMA_CNT_REG);
|
||||
writel(DMA_TLVL_MAX, rnandc->regs + DMA_TLVL_REG);
|
||||
|
|
@ -606,6 +609,9 @@ static int rnandc_write_page_hw_ecc(struct nand_chip *chip, const u8 *buf,
|
|||
/* Configure DMA */
|
||||
dma_addr = dma_map_single(rnandc->dev, (void *)rnandc->buf, mtd->writesize,
|
||||
DMA_TO_DEVICE);
|
||||
if (dma_mapping_error(rnandc->dev, dma_addr))
|
||||
return -ENOMEM;
|
||||
|
||||
writel(dma_addr, rnandc->regs + DMA_ADDR_LOW_REG);
|
||||
writel(mtd->writesize, rnandc->regs + DMA_CNT_REG);
|
||||
writel(DMA_TLVL_MAX, rnandc->regs + DMA_TLVL_REG);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user