On Tue, 06 Mar 2018 21:22:30 +0000 Ben Hutchings ben.hutchings@codethink.co.uk wrote:
On Fri, 2018-03-02 at 09:50 +0100, Greg Kroah-Hartman wrote:
4.4-stable review patch. If anyone has any objections, please let me know.
From: Sascha Hauer s.hauer@pengutronix.de
[ Upstream commit fdf2e821052958a114618a95ab18a300d0b080cb ]
When erased subpages are read then the BCH decoder returns STATUS_ERASED if they are all empty, or STATUS_UNCORRECTABLE if there are bitflips. When there are bitflips, we have to set these bits again to show the upper layers a completely erased page. When a bitflip happens in the exact byte where the bad block marker is, then this byte is swapped with another byte in block_mark_swapping(). The correction code then detects a bitflip in another subpage and no longer corrects the bitflip where it really happens.
[...]
This seesm to be a bug fix for commit bd2e778c9ee3 "gpmi-nand: Handle ECC Errors in erased pages". That's not in 4.4 so the bug fix is not needed, though it doesn't appear to do any harm.
I wonder why the fix was backported to stable releases in the first place. AFAICS, there's no Cc-stable or Fixes tag in the original commit. It's probably something in the backport-to-stable process I'm not aware of.
Anyway, not an issues since the changes seems to be harmless.