diff --git a/drivers/spi/spi_bfin5xx.c b/drivers/spi/spi_bfin5xx.c index 5acec9ff01754ad494b76d01aa973c27a8f55ef5..5ebb67b011d05a944b01453b4b77a15dc650baea 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 {