Skip to content

Commit f504551

Browse files
Ruan Jinjiemiquelraynal
authored andcommitted
mtd: rawnand: Propagate error and simplify ternary operators for brcmstb_nand_wait_for_completion()
As bcmnand_ctrl_poll_status() return negative errno, so return true if sts < 0. The < 0 case does not exist for wait_for_completion_timeout(), so return true if sts = 0 and zero otherwise. Both of the true return of them can be considered as a -ETIMEDOUT err, so return -ETIMEDOUT if err is true to propagate err from its caller. Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com> Reviewed-by: William Zhang <william.zhang@broadcom.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/linux-mtd/20230808032943.3890545-1-ruanjinjie@huawei.com
1 parent 93ca966 commit f504551

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

drivers/mtd/nand/raw/brcmnand/brcmnand.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1666,13 +1666,13 @@ static bool brcmstb_nand_wait_for_completion(struct nand_chip *chip)
16661666
disable_ctrl_irqs(ctrl);
16671667
sts = bcmnand_ctrl_poll_status(ctrl, NAND_CTRL_RDY,
16681668
NAND_CTRL_RDY, 0);
1669-
err = (sts < 0) ? true : false;
1669+
err = sts < 0;
16701670
} else {
16711671
unsigned long timeo = msecs_to_jiffies(
16721672
NAND_POLL_STATUS_TIMEOUT_MS);
16731673
/* wait for completion interrupt */
16741674
sts = wait_for_completion_timeout(&ctrl->done, timeo);
1675-
err = (sts <= 0) ? true : false;
1675+
err = !sts;
16761676
}
16771677

16781678
return err;
@@ -1688,6 +1688,7 @@ static int brcmnand_waitfunc(struct nand_chip *chip)
16881688
if (ctrl->cmd_pending)
16891689
err = brcmstb_nand_wait_for_completion(chip);
16901690

1691+
ctrl->cmd_pending = 0;
16911692
if (err) {
16921693
u32 cmd = brcmnand_read_reg(ctrl, BRCMNAND_CMD_START)
16931694
>> brcmnand_cmd_shift(ctrl);
@@ -1696,8 +1697,8 @@ static int brcmnand_waitfunc(struct nand_chip *chip)
16961697
"timeout waiting for command %#02x\n", cmd);
16971698
dev_err_ratelimited(ctrl->dev, "intfc status %08x\n",
16981699
brcmnand_read_reg(ctrl, BRCMNAND_INTFC_STATUS));
1700+
return -ETIMEDOUT;
16991701
}
1700-
ctrl->cmd_pending = 0;
17011702
return brcmnand_read_reg(ctrl, BRCMNAND_INTFC_STATUS) &
17021703
INTFC_FLASH_STATUS;
17031704
}

0 commit comments

Comments
 (0)