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 <ma...@denx.de>
Cc: Chris Ball <c...@laptop.org>
Cc: Shawn Guo <shawn....@linaro.org>
Cc: Mark Brown <broo...@opensource.wolfsonmicro.com>
Cc: Fabio Estevam <fabio.este...@freescale.com>
---
 drivers/spi/spi-mxs.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/spi/spi-mxs.c b/drivers/spi/spi-mxs.c
index 746359e..8075683 100644
--- a/drivers/spi/spi-mxs.c
+++ b/drivers/spi/spi-mxs.c
@@ -445,8 +445,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;
        }
-- 
1.7.10.4


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general

Reply via email to