[PATCH v2] mtd: nand: omap: fix BCHx ecc.correct to return detected bit-flips in erased-page

Ezequiel Garcia ezequiel.garcia at free-electrons.com
Mon May 19 05:20:52 PDT 2014

Hi Pekon,

On 19 May 05:00 AM, Gupta, Pekon wrote:
> >From: Brian Norris [mailto:computersforpeace at gmail.com]
> >
> >On Tue, Mar 25, 2014 at 12:28:19PM +0530, Pekon Gupta wrote:
> >> fixes: commit 62116e5171e00f85a8d53f76e45b84423c89ff34
> >>        mtd: nand: omap2: Support for hardware BCH error correction.
> >>
> >> In omap_elm_correct_data(), if bitflip_count in an erased-page is within the
> >> correctable limit (< ecc.strength), then it is not indicated back to the caller
> >> ecc->read_page().
> >> This mis-guides upper layers like MTD and UBIFS layer to assume erased-page as
> >> perfectly clean and use it for writing even if actual bitflip_count was
> >> dangerously high (bitflip_count > mtd->bitflip_threshold).
> >>
> >> This patch fixes this above issue, by returning 'stats' to caller
> >> ecc->read_page() under all scenarios.
> >>
> >> Reported-by: Brian Norris <computersforpeace at gmail.com>
> >> Signed-off-by: Pekon Gupta <pekon at ti.com>
> >
> >Pushed to l2-mtd.git. Thanks!
> >
> Just forgot to ask, Is this patch candidate for stable? 
> This one fixes the long standing issue of returning bit-flip count of an
> erased-page to upper layers. So that upper layers take correct decision.

Yes, if the commit fixes a bug then it can be marked for stable.
There's some instructions on this subject, please take a look at [1] and [2].
I think this patch qualifies the stable rules.

In particular, if a patch fixes a bug and you know the culprit commit you
can add a Fixes tag to pass such information, with a 12-digit commit ID and
the commit title enclosed in double-quotes [1]:

  Fixes: 62116e5171e0 ("mtd: nand: omap2: Support for hardware BCH error correction")

To mark it for stable [2], you need add a Cc tag like this:

  Cc: <stable at vger.kernel.org> # 3.x.y

You can use something like this to find the releases that contain the bug:

git tag -l --contains 62116e5171e0 | grep ^v3

It's handy to add that as a git alias:

  ontags = !sh -c 'git tag -l --contains $1 | grep ^v[23]' -

However, now that Brian has pushed the patch, you don't need to do any of
this. AFAIK, maintainers usually take care of all the above.

[1] Documentation/SubmittingPatches
[2] Documentation/stable_kernel_rules.txt.

Hope this helps,
Ezequiel García, Free Electrons
Embedded Linux, Kernel and Android Engineering

More information about the linux-mtd mailing list