diff --git a/drivers/spi/spi_bfin5xx.c b/drivers/spi/spi_bfin5xx.c index 5acec9ff0175..5ebb67b011d0 100644 --- a/drivers/spi/spi_bfin5xx.c +++ b/drivers/spi/spi_bfin5xx.c @@ -587,7 +587,7 @@ static irqreturn_t dma_irq_handler(int irq, void *dev_id) while (!(read_STAT(drv_data) & SPIF)) cpu_relax(); - if (spistat & RBSY) { + if ((dmastat & DMA_ERR) && (spistat & RBSY)) { msg->state = ERROR_STATE; dev_err(&drv_data->pdev->dev, "dma receive: fifo/buffer overflow\n"); } else {