浏览代码

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>
Marek Vasut 13 年之前
父节点
当前提交
c895db0fb2
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      drivers/spi/spi-mxs.c

+ 3 - 1
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;
 	}