From ea7864bf44e1638c34b9eef95477a72ae68fbdc6 Mon Sep 17 00:00:00 2001 From: Lee Jones Date: Thu, 20 Mar 2014 11:11:46 +0000 Subject: [PATCH] mtd: st_spi_fsm: Allow loop to run at least once before giving up CPU Reported-by: Brian Norris Signed-off-by: Lee Jones Signed-off-by: Brian Norris --- drivers/mtd/devices/st_spi_fsm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/devices/st_spi_fsm.c b/drivers/mtd/devices/st_spi_fsm.c index ef9f9b8..4d6b58c 100644 --- a/drivers/mtd/devices/st_spi_fsm.c +++ b/drivers/mtd/devices/st_spi_fsm.c @@ -861,8 +861,6 @@ static uint8_t stfsm_wait_busy(struct stfsm *fsm) */ deadline = jiffies + FLASH_MAX_BUSY_WAIT; while (!timeout) { - cond_resched(); - if (time_after_eq(jiffies, deadline)) timeout = 1; @@ -881,6 +879,8 @@ static uint8_t stfsm_wait_busy(struct stfsm *fsm) if (!timeout) /* Restart */ writel(seq->seq_cfg, fsm->base + SPI_FAST_SEQ_CFG); + + cond_resched(); } dev_err(fsm->dev, "timeout on wait_busy\n"); -- 2.7.4