Commit 3fe4f900 authored by Brian Norris's avatar Brian Norris Committed by Boris Brezillon

mtd: nand: sh_flctl: handle dma_submit() errors

Some build tools noticed that 'cookie' is being set but not used. Might
as well catch the errors here and handle them the same way we handle
other DMA prep steps.
Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
parent d9ca77f0
...@@ -397,7 +397,7 @@ static int flctl_dma_fifo0_transfer(struct sh_flctl *flctl, unsigned long *buf, ...@@ -397,7 +397,7 @@ static int flctl_dma_fifo0_transfer(struct sh_flctl *flctl, unsigned long *buf,
struct dma_chan *chan; struct dma_chan *chan;
enum dma_transfer_direction tr_dir; enum dma_transfer_direction tr_dir;
dma_addr_t dma_addr; dma_addr_t dma_addr;
dma_cookie_t cookie = -EINVAL; dma_cookie_t cookie;
uint32_t reg; uint32_t reg;
int ret; int ret;
...@@ -423,6 +423,12 @@ static int flctl_dma_fifo0_transfer(struct sh_flctl *flctl, unsigned long *buf, ...@@ -423,6 +423,12 @@ static int flctl_dma_fifo0_transfer(struct sh_flctl *flctl, unsigned long *buf,
desc->callback = flctl_dma_complete; desc->callback = flctl_dma_complete;
desc->callback_param = flctl; desc->callback_param = flctl;
cookie = dmaengine_submit(desc); cookie = dmaengine_submit(desc);
if (dma_submit_error(cookie)) {
ret = dma_submit_error(cookie);
dev_warn(&flctl->pdev->dev,
"DMA submit failed, falling back to PIO\n");
goto out;
}
dma_async_issue_pending(chan); dma_async_issue_pending(chan);
} else { } else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment