On Wed, Mar 07, 2018 at 09:12:36AM +0100, Boris Brezillon wrote:
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.
It's an attempt to mine kernel commits for commits that should go into stable trees but were not marked as such.
Thanks again for the review!