Merge branch 'fix/dw' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi...
authorMark Brown <broonie@kernel.org>
Mon, 9 Mar 2015 18:11:06 +0000 (18:11 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 9 Mar 2015 18:11:06 +0000 (18:11 +0000)
1  2 
drivers/spi/spi-dw-mid.c
drivers/spi/spi-dw.c

index 8f68e8277a3bfadd28b5cd9db282efb76b3c56d6,4f8c798e0633a81483c3b05af46805b1848ba386..c8416ef01f9ac35b8d4df860cc851e9900e352e2
@@@ -108,9 -108,10 +108,10 @@@ static void dw_spi_dma_tx_done(void *ar
  {
        struct dw_spi *dws = arg;
  
-       if (test_and_clear_bit(TX_BUSY, &dws->dma_chan_busy) & BIT(RX_BUSY))
+       clear_bit(TX_BUSY, &dws->dma_chan_busy);
+       if (test_bit(RX_BUSY, &dws->dma_chan_busy))
                return;
 -      dw_spi_xfer_done(dws);
 +      spi_finalize_current_transfer(dws->master);
  }
  
  static struct dma_async_tx_descriptor *dw_spi_dma_prepare_tx(struct dw_spi *dws)
@@@ -153,9 -157,10 +157,10 @@@ static void dw_spi_dma_rx_done(void *ar
  {
        struct dw_spi *dws = arg;
  
-       if (test_and_clear_bit(RX_BUSY, &dws->dma_chan_busy) & BIT(TX_BUSY))
+       clear_bit(RX_BUSY, &dws->dma_chan_busy);
+       if (test_bit(TX_BUSY, &dws->dma_chan_busy))
                return;
 -      dw_spi_xfer_done(dws);
 +      spi_finalize_current_transfer(dws->master);
  }
  
  static struct dma_async_tx_descriptor *dw_spi_dma_prepare_rx(struct dw_spi *dws)
Simple merge