nand/denali: use cpu_relax() while waiting for hardware interrupt
Chuanxiao Dong [Wed, 11 Aug 2010 09:53:29 +0000 (17:53 +0800)]
Signed-off-by: Chuanxiao Dong <chuanxiao.dong@intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>

drivers/mtd/nand/denali.c

index 975a893..5f7c8c8 100644 (file)
@@ -211,9 +211,9 @@ static uint16_t denali_nand_reset(struct denali_nand_info *denali)
                iowrite32(device_reset_banks[i],
                                denali->flash_reg + DEVICE_RESET);
                while (!(ioread32(denali->flash_reg +
-                                               intr_status_addresses[i]) &
+                               intr_status_addresses[i]) &
                        (reset_complete[i] | operation_timeout[i])))
-                       ;
+                       cpu_relax();
                if (ioread32(denali->flash_reg + intr_status_addresses[i]) &
                        operation_timeout[i])
                        dev_dbg(&denali->dev->dev,