diff options
Diffstat (limited to 'drivers/spi/spi-dw-mid.c')
-rw-r--r-- | drivers/spi/spi-dw-mid.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/spi/spi-dw-mid.c b/drivers/spi/spi-dw-mid.c index 3ce39d10fafb..4f8c798e0633 100644 --- a/drivers/spi/spi-dw-mid.c +++ b/drivers/spi/spi-dw-mid.c | |||
@@ -108,7 +108,8 @@ static void dw_spi_dma_tx_done(void *arg) | |||
108 | { | 108 | { |
109 | struct dw_spi *dws = arg; | 109 | struct dw_spi *dws = arg; |
110 | 110 | ||
111 | if (test_and_clear_bit(TX_BUSY, &dws->dma_chan_busy) & BIT(RX_BUSY)) | 111 | clear_bit(TX_BUSY, &dws->dma_chan_busy); |
112 | if (test_bit(RX_BUSY, &dws->dma_chan_busy)) | ||
112 | return; | 113 | return; |
113 | dw_spi_xfer_done(dws); | 114 | dw_spi_xfer_done(dws); |
114 | } | 115 | } |
@@ -156,7 +157,8 @@ static void dw_spi_dma_rx_done(void *arg) | |||
156 | { | 157 | { |
157 | struct dw_spi *dws = arg; | 158 | struct dw_spi *dws = arg; |
158 | 159 | ||
159 | if (test_and_clear_bit(RX_BUSY, &dws->dma_chan_busy) & BIT(TX_BUSY)) | 160 | clear_bit(RX_BUSY, &dws->dma_chan_busy); |
161 | if (test_bit(TX_BUSY, &dws->dma_chan_busy)) | ||
160 | return; | 162 | return; |
161 | dw_spi_xfer_done(dws); | 163 | dw_spi_xfer_done(dws); |
162 | } | 164 | } |