summary refs log tree commit diff
path: root/drivers/spi
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-10-28 11:13:54 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-28 11:13:54 -0700
commit8e99165a6fe788aec8cd64596b71cf21db3af047 (patch)
tree45f1210efd6557d40383b587e6793e5301aa1e04 /drivers/spi
parent065c8012b2ff79ed9b47e39b60d252b3802ecc0d (diff)
parent44968466cfb969f960dbe422bbc785117f497729 (diff)
downloadlinux-8e99165a6fe788aec8cd64596b71cf21db3af047.tar.gz
Merge tag 'spi-mxs' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc
Pull minor spi MXS fixes from Mark Brown:
 "These fixes are both pretty minor ones and are driver local."

* tag 'spi-mxs' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc:
  spi: mxs: Terminate DMA in case of DMA timeout
  spi: mxs: Assign message status after transfer finished
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-mxs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/spi/spi-mxs.c b/drivers/spi/spi-mxs.c
index edf1360ab09e..86dd04d6bc87 100644
--- a/drivers/spi/spi-mxs.c
+++ b/drivers/spi/spi-mxs.c
@@ -323,6 +323,7 @@ static int mxs_spi_txrx_dma(struct mxs_spi *spi, int cs,
 	if (!ret) {
 		dev_err(ssp->dev, "DMA transfer timeout\n");
 		ret = -ETIMEDOUT;
+		dmaengine_terminate_all(ssp->dmach);
 		goto err_vmalloc;
 	}
 
@@ -480,7 +481,7 @@ static int mxs_spi_transfer_one(struct spi_master *master,
 		first = last = 0;
 	}
 
-	m->status = 0;
+	m->status = status;
 	spi_finalize_current_message(master);
 
 	return status;