Message ID | 20180508044534.4226-1-smtpuser@allied-telesis.co.jp |
---|---|
State | Superseded |
Headers | show |
Series | mtd: cfi_cmdset_0002: Change write buffer to check correct value | expand |
Hi, This patch has be sent by git-send-email. Also for our company mail system the sender mail address is needed to be set as smtpuser <smtpuser at allied-telesis.co.jp>. But do not reply to the email address smtpuser <smtpuser at allied-telesis.co.jp>. Please reply to my email address Tokunori Ikegami <ikegami at allied-telesis.co.jp> if any comment or problem. Sorry for inconvenient about this. This patch is alternative solution for the patch below. <http://lists.infradead.org/pipermail/linux-mtd/2018-April/080530.html> Note: I am thinking to change the erase functions also to retry for the wrong value case. It will be sent as another patch. Regards, Ikegami > -----Original Message----- > From: smtpuser > Sent: Tuesday, May 08, 2018 1:46 PM > To: Brian Norris > Cc: IKEGAMI Tokunori; PACKHAM Chris; David Woodhouse; Boris Brezillon; > Marek Vasut; Richard Weinberger; Cyrille Pitchen; > linux-mtd@lists.infradead.org > Subject: [PATCH] mtd: cfi_cmdset_0002: Change write buffer to check correct > value > > From: Tokunori Ikegami <ikegami@allied-telesis.co.jp> > > For the word write it is checked if the chip has the correct value. > But it is not checked for the write buffer as only checked if ready. > To make sure for the write buffer change to check the value. > > Signed-off-by: Tokunori Ikegami <ikegami@allied-telesis.co.jp> > Cc: Chris Packham <chris.packham@alliedtelesis.co.nz> > Cc: David Woodhouse <dwmw2@infradead.org> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > Cc: Marek Vasut <marek.vasut@gmail.com> > Cc: Richard Weinberger <richard@nod.at> > Cc: Cyrille Pitchen <cyrille.pitchen@wedev4u.fr> > Cc: linux-mtd@lists.infradead.org > --- > drivers/mtd/chips/cfi_cmdset_0002.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c > b/drivers/mtd/chips/cfi_cmdset_0002.c > index 56aa6b75213d..5e9f2ca0a6c1 100644 > --- a/drivers/mtd/chips/cfi_cmdset_0002.c > +++ b/drivers/mtd/chips/cfi_cmdset_0002.c > @@ -1879,7 +1879,7 @@ static int __xipram do_write_buffer(struct map_info > *map, struct flchip *chip, > if (time_after(jiffies, timeo) && !chip_ready(map, adr)) > break; > > - if (chip_ready(map, adr)) { > + if (chip_ready(map, adr) && chip_good(map, adr, datum)) > { > xip_enable(map, chip, adr); > goto op_done; > } > -- > 2.16.1
diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c index 56aa6b75213d..5e9f2ca0a6c1 100644 --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c @@ -1879,7 +1879,7 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip, if (time_after(jiffies, timeo) && !chip_ready(map, adr)) break; - if (chip_ready(map, adr)) { + if (chip_ready(map, adr) && chip_good(map, adr, datum)) { xip_enable(map, chip, adr); goto op_done; }