Message ID | 20210303094246.5724-1-colin.king@canonical.com |
---|---|
State | Changes Requested |
Delegated to: | Miquel Raynal |
Headers | show |
Series | [next] mtd: nand: Fix error handling in nand_prog_page_op | expand |
Hi Colin, Colin King <colin.king@canonical.com> wrote on Wed, 3 Mar 2021 09:42:46 +0000: > From: Colin Ian King <colin.king@canonical.com> > > The less than zero comparison with status is always false because status > is a u8. Fix this by using ret as the return check for the call to > chip->legacy.waitfunc() and checking on this and assigning status to ret > if it is OK. > > Addresses-Coverity: ("Unsigned compared against 0") > Fixes: 52f67def97f1 ("mtd: nand: fix error handling in nand_prog_page_op() #1") > Signed-off-by: Colin Ian King <colin.king@canonical.com> Thanks for the fix, but this has been handled just an hour ago :) Cheers, Miquèl
On 03/03/2021 09:46, Miquel Raynal wrote: > Hi Colin, > > Colin King <colin.king@canonical.com> wrote on Wed, 3 Mar 2021 > 09:42:46 +0000: > >> From: Colin Ian King <colin.king@canonical.com> >> >> The less than zero comparison with status is always false because status >> is a u8. Fix this by using ret as the return check for the call to >> chip->legacy.waitfunc() and checking on this and assigning status to ret >> if it is OK. >> >> Addresses-Coverity: ("Unsigned compared against 0") >> Fixes: 52f67def97f1 ("mtd: nand: fix error handling in nand_prog_page_op() #1") >> Signed-off-by: Colin Ian King <colin.king@canonical.com> > > Thanks for the fix, but this has been handled just an hour ago :) Ah, missed that. Glad to know it's fixed. > > Cheers, > Miquèl >
diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c index 0f6babefaed2..4f263c22c80d 100644 --- a/drivers/mtd/nand/raw/nand_base.c +++ b/drivers/mtd/nand/raw/nand_base.c @@ -1462,9 +1462,10 @@ int nand_prog_page_op(struct nand_chip *chip, unsigned int page, page); chip->legacy.write_buf(chip, buf, len); chip->legacy.cmdfunc(chip, NAND_CMD_PAGEPROG, -1, -1); - status = chip->legacy.waitfunc(chip); - if (status < 0) - return status; + ret = chip->legacy.waitfunc(chip); + if (ret < 0) + return ret; + status = ret; } if (status & NAND_STATUS_FAIL)