diff --git a/drivers/spi/spi_imx.c b/drivers/spi/spi_imx.c index 0480d8bb19d3..014af69fc1bb 100644 --- a/drivers/spi/spi_imx.c +++ b/drivers/spi/spi_imx.c @@ -779,7 +779,8 @@ static irqreturn_t interrupt_transfer(struct driver_data *drv_data) /* Read trailing bytes */ limit = loops_per_jiffy << 1; - while ((read(drv_data) == 0) && limit--); + while ((read(drv_data) == 0) && --limit) + cpu_relax(); if (limit == 0) dev_err(&drv_data->pdev->dev,