diff options
Diffstat (limited to 'src/drivers')
-rw-r--r-- | src/drivers/spi/spi_flash.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/drivers/spi/spi_flash.c b/src/drivers/spi/spi_flash.c index ded88eda09..0142fad442 100644 --- a/src/drivers/spi/spi_flash.c +++ b/src/drivers/spi/spi_flash.c @@ -193,22 +193,19 @@ int spi_flash_cmd_poll_bit(const struct spi_flash *flash, unsigned long timeout, const struct spi_slave *spi = &flash->spi; int ret; u8 status; - struct mono_time current, end; - - timer_monotonic_get(¤t); - end = current; - mono_time_add_msecs(&end, timeout); + struct stopwatch sw; + stopwatch_init_msecs_expire(&sw, timeout); do { ret = do_spi_flash_cmd(spi, &cmd, 1, &status, 1); if (ret) return -1; if ((status & poll_bit) == 0) return 0; - timer_monotonic_get(¤t); - } while (!mono_time_after(¤t, &end)); + } while (!stopwatch_expired(&sw)); + + printk(BIOS_WARNING, "SF: timeout at %ld msec\n", stopwatch_duration_msecs(&sw)); - printk(BIOS_DEBUG, "SF: timeout at %ld msec\n",timeout); return -1; } |