diff --git a/drivers/spi/spi-rockchip.c b/drivers/spi/spi-rockchip.c index c0257c8a8a9b..2cfd38d19aa6 100644 --- a/drivers/spi/spi-rockchip.c +++ b/drivers/spi/spi-rockchip.c @@ -818,7 +818,8 @@ static int rockchip_spi_probe(struct platform_device *pdev) rs->dma_rx.ch = NULL; } - if (rs->dma_tx.ch && rs->dma_rx.ch) { + if (rs->dma_tx.ch && rs->dma_rx.ch && + !spi_controller_is_slave(master)) { dma_get_slave_caps(rs->dma_rx.ch, &(rs->dma_caps)); rs->dma_tx.addr = (dma_addr_t)(mem->start + ROCKCHIP_SPI_TXDR); rs->dma_rx.addr = (dma_addr_t)(mem->start + ROCKCHIP_SPI_RXDR);