diff options
author | Marek Vasut <[email protected]> | 2012-08-24 04:34:18 +0200 |
---|---|---|
committer | Mark Brown <[email protected]> | 2012-08-27 09:36:52 -0700 |
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 <[email protected]>
Cc: Chris Ball <[email protected]>
Cc: Shawn Guo <[email protected]>
Cc: Mark Brown <[email protected]>
Cc: Fabio Estevam <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
-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, } m->actual_length += t->len; - if (status) + if (status) { + stmp_reset_block(ssp->base); break; + } first = last = 0; } |