]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
mtd: cfi: fix deadloop in cfi_cmdset_0002.c do_write_buffer
authorLiu Jian <liujian56@huawei.com>
Sun, 3 Mar 2019 07:04:18 +0000 (15:04 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 2 May 2020 15:23:15 +0000 (17:23 +0200)
commit5487985248ae1690fd8a8c16610cad5e7f79b78c
tree9dc024d31f1ba0dd56bad06ea86f10cb7907d8ad
parent5aae6c46a5cc3a2e75175fca948e6dc917521ca0
mtd: cfi: fix deadloop in cfi_cmdset_0002.c do_write_buffer

commit d9b8a67b3b95a5c5aae6422b8113adc1c2485f2b upstream.

In function do_write_buffer(), in the for loop, there is a case
chip_ready() returns 1 while chip_good() returns 0, so it never
break the loop.
To fix this, chip_good() is enough and it should timeout if it stay
bad for a while.

Fixes: dfeae1073583("mtd: cfi_cmdset_0002: Change write buffer to check correct value")
Signed-off-by: Yi Huaijie <yihuaijie@huawei.com>
Signed-off-by: Liu Jian <liujian56@huawei.com>
Reviewed-by: Tokunori Ikegami <ikegami_to@yahoo.co.jp>
Signed-off-by: Richard Weinberger <richard@nod.at>
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mtd/chips/cfi_cmdset_0002.c