From: Lee Jones Date: Thu, 20 Mar 2014 11:11:46 +0000 (+0000) Subject: mtd: st_spi_fsm: Allow loop to run at least once before giving up CPU X-Git-Tag: v4.14-rc1~7737^2~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ea7864bf44e1638c34b9eef95477a72ae68fbdc6;p=platform%2Fkernel%2Flinux-rpi.git 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 --- 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");