aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorAddy Ke <addy.ke@rock-chips.com>2014-10-17 09:44:13 +0800
committerMark Brown <broonie@kernel.org>2014-10-17 14:29:22 +0200
commit2c2bc7489ef330c920fbcee99468aa36a909998a (patch)
tree517f85a6d103dd08e6ec94b6396f4a9cc997f6a5 /drivers/spi
parentspi/rockchip: fix bug that cause spi transfer timed out in DMA duplex mode (diff)
downloadlinux-dev-2c2bc7489ef330c920fbcee99468aa36a909998a.tar.xz
linux-dev-2c2bc7489ef330c920fbcee99468aa36a909998a.zip
spi/rockchip: spi controller must be disabled in tx callback too
Signed-off-by: Addy Ke <addy.ke@rock-chips.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-rockchip.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/spi/spi-rockchip.c b/drivers/spi/spi-rockchip.c
index 153269b60564..87bc16f491f0 100644
--- a/drivers/spi/spi-rockchip.c
+++ b/drivers/spi/spi-rockchip.c
@@ -418,8 +418,10 @@ static void rockchip_spi_dma_txcb(void *data)
spin_lock_irqsave(&rs->lock, flags);
rs->state &= ~TXBUSY;
- if (!(rs->state & RXBUSY))
+ if (!(rs->state & RXBUSY)) {
+ spi_enable_chip(rs, 0);
spi_finalize_current_transfer(rs->master);
+ }
spin_unlock_irqrestore(&rs->lock, flags);
}