diff options
author | Marek Vasut <marex@denx.de> | 2012-08-23 22:34:18 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-08-27 12:36:52 -0400 |
commit | c895db0fb2c9e77fd94ba7995e2a01652a91910c (patch) | |
tree | b85c0d104c8c82d13300ab8e51ec35de7a06cdc1 | |
parent | 4ad1e5b5d1dde19f09e728ba8b5164968f9dabeb (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>
-rw-r--r-- | drivers/spi/spi-mxs.c | 4 |
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 | } |