3.18-stable review patch. If anyone has any objections, please let me know. ------------------ From: Tokunori Ikegami <ikegami@xxxxxxxxxxxxxxxxxxxx> 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 at allied-telesis.co.jp> Reviewed-by: Joakim Tjernlund <Joakim.Tjernlund at infinera.com> Cc: Chris Packham <chris.packham at alliedtelesis.co.nz> Cc: Brian Norris <computersforpeace at gmail.com> Cc: David Woodhouse <dwmw2 at infradead.org> Cc: Boris Brezillon <boris.brezillon at free-electrons.com> Cc: Marek Vasut <marek.vasut at gmail.com> Cc: Richard Weinberger <richard at nod.at> Cc: Cyrille Pitchen <cyrille.pitchen at wedev4u.fr> Cc: linux-mtd at lists.infradead.org Cc: stable at vger.kernel.org Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com> Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org> --- drivers/mtd/chips/cfi_cmdset_0002.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c @@ -1878,7 +1878,7 @@ static int __xipram do_write_buffer(stru 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; }