]> git.hungrycats.org Git - linux/commitdiff
mtd: cfi_cmdset_0002: Change write buffer to check correct value
authorTokunori Ikegami <ikegami@allied-telesis.co.jp>
Wed, 30 May 2018 09:32:26 +0000 (18:32 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 3 Jul 2018 09:21:29 +0000 (11:21 +0200)
commit dfeae1073583dc35c33b32150e18b7048bbb37e6 upstream.

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.

It is enough as this patch is only checking the last written word.
Since it is described by data sheets to check the operation status.

Signed-off-by: Tokunori Ikegami <ikegami@allied-telesis.co.jp>
Reviewed-by: Joakim Tjernlund <Joakim.Tjernlund@infinera.com>
Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
Cc: Brian Norris <computersforpeace@gmail.com>
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
Cc: stable@vger.kernel.org
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mtd/chips/cfi_cmdset_0002.c

index 31448a2b39ae80b01f11e99a33bd50b7cff2ad79..2e94c02d52111db95c6d9904f65c036f9249a67d 100644 (file)
@@ -1878,7 +1878,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_good(map, adr, datum)) {
                        xip_enable(map, chip, adr);
                        goto op_done;
                }