From: Boris Brezillon <boris.brezillon@collabora.com>
To: Mark Tomlinson <Mark.Tomlinson@alliedtelesis.co.nz>
Cc: "Joakim.Tjernlund@infinera.com" <Joakim.Tjernlund@infinera.com>,
"ikegami@allied-telesis.co.jp" <ikegami@allied-telesis.co.jp>,
Przemyslaw Sobon <psobon@amazon.com>,
Chris Packham <Chris.Packham@alliedtelesis.co.nz>,
"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
"liujian56@huawei.com" <liujian56@huawei.com>,
"fbettoni@gmail.com" <fbettoni@gmail.com>
Subject: Re: mtd: cfi: Fixed endless loop problem in CFI when value was written but corrupted.
Date: Wed, 20 Feb 2019 09:03:20 +0100 [thread overview]
Message-ID: <20190220090320.01aa2357@collabora.com> (raw)
In-Reply-To: <f5d597dd-d09d-b8f8-a800-756a23954164@alliedtelesis.co.nz>
On Tue, 19 Feb 2019 20:02:37 +0000
Mark Tomlinson <Mark.Tomlinson@alliedtelesis.co.nz> wrote:
> On 19/02/19 9:00 PM, Boris Brezillon wrote:
> > On Thu, 14 Feb 2019 00:39:09 +0000
> > Chris Packham <Chris.Packham@alliedtelesis.co.nz> wrote:
> >
> >> Hi All,
> >>
> >> On 8/02/19 12:58 PM, Przemyslaw Sobon wrote:
> >>> Fixes: dfeae1073583(mtd: cfi_cmdset_0002: Change write buffer to
> >>> check correct value)
> >>>
> >>> There was an endless loop in CFI Flash driver when a value was written
> >>> incorrectly. In such case chip_ready returns true but chip_good returns
> >>> false and we never get out of the loop.
> >>>
> >>> The solution was to break the loop in 2 cases, either device is ready or
> >>> device is not ready and timeout elapsed. The correctness of the write is
> >>> checked after the loop ended. That way we ensure the loop always ends.
> >>>
> >>> Signed-off-by: Przemyslaw Sobon <psobon@amazon.com>
> >> Mark (cc'd) has done some testing here, and assuming he's happy with the
> >> forgery.
> >>
> >> Tested-by: Mark Tomlinson <Mark.Tomlinson@alliedtelesis.co.nz>
> > I'm a bit lost. Ikegami told us that checking for chip_ready() was not
> > enough and chip_good() could return true after a few tests even though
> > it initially returned false.
> >
> > I'd really like to get that fixed, but it looks like you haven't reached
> > a consensus on what the appropriate fix is :-/.
> I have done some further testing and this patch doesn't work 100%. It
> appears at least some flash chips do not start toggling immediately, and
> therefore chip_ready() can return true early. A timeout is reported,
> even though that isn't what happened.
>
> chip_good() makes an additional check over chip_ready() and is the call
> I believe we should be using. I will submit a new patch which should fix
> the infinite loop as well as not mis-reporting errors.
No, please, don't do that. We already have 3 versions of the same fix
floating around (one from Ikegami, one from Liu Jian and another one
from Przemyslaw). Can you please sync and submit a single patch that
all of you agree on?
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2019-02-20 8:03 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-07 23:58 [PATCH] mtd: cfi: Fixed endless loop problem in CFI when value was written but corrupted Przemyslaw Sobon
2019-02-08 15:01 ` Tokunori Ikegami
2019-02-14 0:39 ` Chris Packham
2019-02-19 8:00 ` Boris Brezillon
2019-02-19 20:02 ` Mark Tomlinson
2019-02-20 8:03 ` Boris Brezillon [this message]
2019-02-20 20:50 ` Mark Tomlinson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190220090320.01aa2357@collabora.com \
--to=boris.brezillon@collabora.com \
--cc=Chris.Packham@alliedtelesis.co.nz \
--cc=Joakim.Tjernlund@infinera.com \
--cc=Mark.Tomlinson@alliedtelesis.co.nz \
--cc=fbettoni@gmail.com \
--cc=ikegami@allied-telesis.co.jp \
--cc=linux-mtd@lists.infradead.org \
--cc=liujian56@huawei.com \
--cc=psobon@amazon.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.