Commit 03271ea3 authored by david regan's avatar david regan Committed by Miquel Raynal
Browse files

mtd: rawnand: brcmnand: fix status read of brcmnand_waitfunc



This change fixes an issue where an error return value may be mistakenly
used as NAND status.

Fixes: f504551b ("mtd: rawnand: Propagate error and simplify ternary operators for brcmstb_nand_wait_for_completion()")
Signed-off-by: default avatardavid regan <dregan@broadcom.com>
Reviewed-by: default avatarWilliam Zhang <william.zhang@broadcom.com>
Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
parent 1a50e361
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -2342,6 +2342,11 @@ static int brcmnand_write(struct mtd_info *mtd, struct nand_chip *chip,
		brcmnand_send_cmd(host, CMD_PROGRAM_PAGE);
		status = brcmnand_waitfunc(chip);

		if (status < 0) {
			ret = status;
			goto out;
		}

		if (status & NAND_STATUS_FAIL) {
			dev_info(ctrl->dev, "program failed at %llx\n",
				(unsigned long long)addr);