aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2012-08-23 22:34:18 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-08-27 12:36:52 -0400
commitc895db0fb2c9e77fd94ba7995e2a01652a91910c (patch)
treeb85c0d104c8c82d13300ab8e51ec35de7a06cdc1 /drivers/spi
parent4ad1e5b5d1dde19f09e728ba8b5164968f9dabeb (diff)
mxs/spi: Restart the block after unsuccessful transfer
Restart the SSP block in case the SSP transfer failed in any way. The block hung in some cases otherwise. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Chris Ball <cjb@laptop.org> Cc: Shawn Guo <shawn.guo@linaro.org> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-mxs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/spi/spi-mxs.c b/drivers/spi/spi-mxs.c
index 130a43688352..447f917fe66f 100644
--- a/drivers/spi/spi-mxs.c
+++ b/drivers/spi/spi-mxs.c
@@ -439,8 +439,10 @@ static int mxs_spi_transfer_one(struct spi_master *master,
439 } 439 }
440 440
441 m->actual_length += t->len; 441 m->actual_length += t->len;
442 if (status) 442 if (status) {
443 stmp_reset_block(ssp->base);
443 break; 444 break;
445 }
444 446
445 first = last = 0; 447 first = last = 0;
446 } 448 }