diff options
Diffstat (limited to 'drivers/spi/omap3_spi.c')
| -rw-r--r-- | drivers/spi/omap3_spi.c | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/drivers/spi/omap3_spi.c b/drivers/spi/omap3_spi.c index a3ad056473c..651e46e4bd2 100644 --- a/drivers/spi/omap3_spi.c +++ b/drivers/spi/omap3_spi.c @@ -260,8 +260,9 @@ int omap3_spi_write(struct spi_slave *slave, unsigned int len, const void *txp,  	}  	/* wait to finish of transfer */ -	while (!(readl(&ds->regs->channel[ds->slave.cs].chstat) & -			 OMAP3_MCSPI_CHSTAT_EOT)); +	while ((readl(&ds->regs->channel[ds->slave.cs].chstat) & +			 (OMAP3_MCSPI_CHSTAT_EOT | OMAP3_MCSPI_CHSTAT_TXS)) != +			 (OMAP3_MCSPI_CHSTAT_EOT | OMAP3_MCSPI_CHSTAT_TXS));  	/* Disable the channel otherwise the next immediate RX will get affected */  	omap3_spi_set_enable(ds,OMAP3_MCSPI_CHCTRL_DIS); | 
