spi: ich: Drop while loop in hardware sequencing erase case
authorWolfgang Wallner <wolfgang.wallner@br-automation.com>
Tue, 14 Jan 2020 13:05:48 +0000 (14:05 +0100)
committerBin Meng <bmeng.cn@gmail.com>
Mon, 3 Feb 2020 17:19:28 +0000 (01:19 +0800)
commit5e579cc0044b8660fff7fbc043982ff80ff7be7a
tree391b8604d769927d584d1fa0bd5b291a2e73edcb
parentb58d85363ff5bcd4293387e9e18e12e1add69e4a
spi: ich: Drop while loop in hardware sequencing erase case

When ich_spi_exec_op_hwseq() is called to erase a 4k block
(opcode = SPINOR_OP_BE_4K), it expects to find a length value in
op->data.nbytes, but that value is always 0. As a result, the while loop
is never executed and no erase is carried out.

Fix this by dropping the loop code entirely, only keeping the relevant
parts of the loop body.

See http://patchwork.ozlabs.org/patch/1222779/ for more detailed
background information and discussion.

Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
drivers/spi/ich.c