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@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Joakim Tjernlund <Joakim.Tjernlund@xxxxxxxxxxxx> Cc: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx> Cc: Brian Norris <computersforpeace@xxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: Marek Vasut <marek.vasut@xxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxxx> Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx --- Changes since v7: - None. Changes since v6: - Change Cc: Joakim Tjernlund tag as Reviewed-by: tag. - Add Cc: stable tag. Changes since v5: - None since the v4 change is just combined as same series by v6. Changes since v3: - Removed to check if chip ready. Changes since v2: - Just updated the patch to add v3 version into subject and desribe a changelog. Changes since v1: - Just changed to add Brian as Cc and the patch is sent to Boris-san as To Changes since v0: - Changed Split the part to change write buffer from the v1 patch 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 e397b80e40cc..1d6be8c63d39 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_good(map, adr, datum)) { xip_enable(map, chip, adr); goto op_done; } -- 2.16.1