From b01b358f83249ee24bc26232ee3afed5e5e6feec Mon Sep 17 00:00:00 2001 From: "lw@rock-chips.com" Date: Tue, 26 Jun 2012 20:18:36 +0800 Subject: [PATCH] fix spi driver's bug while dma recieving --- drivers/spi/rk29_spim.c | 5 +++-- drivers/spi/spi_test.c | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/spi/rk29_spim.c b/drivers/spi/rk29_spim.c index 8fca6a804297..d12fbdd6032e 100755 --- a/drivers/spi/rk29_spim.c +++ b/drivers/spi/rk29_spim.c @@ -133,8 +133,9 @@ void rk29_lcd_spim_spin_unlock(void) static void printk_transfer_data(unsigned char *buf, int len) { int i = 0; + unsigned char *buff = buf; for(i=0; irx_buf != NULL) { dmacr |= SPI_DMACR_RX_ENABLE; - rk29xx_writew(dws, SPIM_DMARDLR, 0); + rk29xx_writew(dws, SPIM_DMARDLR, dws->dma_width-1); rk29xx_writew(dws, SPIM_CTRLR1, transfer->len-1); } rk29xx_writew(dws, SPIM_DMACR, dmacr); diff --git a/drivers/spi/spi_test.c b/drivers/spi/spi_test.c index 9c7bc8fbb93e..cfba557f7dd2 100755 --- a/drivers/spi/spi_test.c +++ b/drivers/spi/spi_test.c @@ -141,7 +141,7 @@ static int __devinit spi_test_probe(struct spi_device *spi) g_spi_test_data = spi_test_data; - printk("%s:bus_num=%d,ok\n",__func__,spi->bus_num); + printk("%s:bus_num=%d,ok\n",__func__,spi->master->bus_num); return ret; -- 2.34.1