spi: limit reaches -1, tested 0
authorRoel Kluin <roel.kluin@gmail.com>
Tue, 7 Apr 2009 02:00:54 +0000 (19:00 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 7 Apr 2009 15:31:07 +0000 (08:31 -0700)
With a postfix decrement limit will reach -1 rather than 0, so the warning
will not be issued.

Also, add a cpu_relax() into the busy-wait loop.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Cc: Mariusz Ceier <mceier@gmail.com>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/spi/spi_imx.c

index 0480d8b..014af69 100644 (file)
@@ -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,