|
@@ -598,11 +598,13 @@ static int rspi_dma_transfer(struct rspi_data *rspi, struct sg_table *tx,
|
|
|
|
|
|
|
|
ret = wait_event_interruptible_timeout(rspi->wait,
|
|
ret = wait_event_interruptible_timeout(rspi->wait,
|
|
|
rspi->dma_callbacked, HZ);
|
|
rspi->dma_callbacked, HZ);
|
|
|
- if (ret > 0 && rspi->dma_callbacked)
|
|
|
|
|
|
|
+ if (ret > 0 && rspi->dma_callbacked) {
|
|
|
ret = 0;
|
|
ret = 0;
|
|
|
- else if (!ret) {
|
|
|
|
|
- dev_err(&rspi->master->dev, "DMA timeout\n");
|
|
|
|
|
- ret = -ETIMEDOUT;
|
|
|
|
|
|
|
+ } else {
|
|
|
|
|
+ if (!ret) {
|
|
|
|
|
+ dev_err(&rspi->master->dev, "DMA timeout\n");
|
|
|
|
|
+ ret = -ETIMEDOUT;
|
|
|
|
|
+ }
|
|
|
if (tx)
|
|
if (tx)
|
|
|
dmaengine_terminate_all(rspi->master->dma_tx);
|
|
dmaengine_terminate_all(rspi->master->dma_tx);
|
|
|
if (rx)
|
|
if (rx)
|