spi:fix the bug while read one byte
authorluowei <lw@rock-chips.com>
Mon, 4 Aug 2014 01:14:23 +0000 (09:14 +0800)
committerluowei <lw@rock-chips.com>
Mon, 4 Aug 2014 01:14:23 +0000 (09:14 +0800)
drivers/spi/spi-rockchip-core.c

index af4ac86d6d600356e8ed95ccee3e77e692ec66b1..63aacfd2f8be9e7e259eeba3fe6b927327a496a9 100755 (executable)
@@ -731,10 +731,10 @@ static void pump_transfers(unsigned long data)
 
         dw_writew(dws, SPIM_CTRLR1, dws->len-1);
                
-               if (txint_level)
+               if (txint_level != dw_readl(dws, SPIM_TXFTLR))
                        dw_writew(dws, SPIM_TXFTLR, txint_level);
                        
-               if (rxint_level)
+               if (rxint_level != dw_readl(dws, SPIM_RXFTLR))
                {
                        dw_writew(dws, SPIM_RXFTLR, rxint_level);
                        DBG_SPI("%s:rxint_level=%d\n",__func__,rxint_level);