From: "Joël Esponde" <joel.esponde@honeywell.com>
To: <linux-mtd@lists.infradead.org>
Cc: "Joël Esponde" <joel.esponde@honeywell.com>
Subject: [PATCH v3] mtd: spi-nor: fix spansion quad enable
Date: Wed, 23 Nov 2016 12:47:40 +0100 [thread overview]
Message-ID: <1479901660-124876-1-git-send-email-joel.esponde@honeywell.com> (raw)
In-Reply-To: <1476971026-9665-1-git-send-email-joel.esponde@honeywell.com>
With the S25FL127S nor flash part, each writing to the configuration
register takes hundreds of ms. During that time, no more accesses to
the flash should be done (even reads).
This commit adds a wait loop after the register writing until the flash
finishes its work.
This issue could make rootfs mounting fail when the latter was done too
much closely to this quad enable bit setting step. And in this case, a
driver as UBIFS may try to recover the filesystem and may broke it
completely.
Signed-off-by: Joël Esponde <joel.esponde@honeywell.com>
---
drivers/mtd/spi-nor/spi-nor.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index d0fc165..21dde52 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -1255,6 +1255,13 @@ static int spansion_quad_enable(struct spi_nor *nor)
return -EINVAL;
}
+ ret = spi_nor_wait_till_ready(nor);
+ if (ret) {
+ dev_err(nor->dev,
+ "timeout while writing configuration register\n");
+ return ret;
+ }
+
/* read back and check it */
ret = read_cr(nor);
if (!(ret > 0 && (ret & CR_QUAD_EN_SPAN))) {
--
2.7.4
next prev parent reply other threads:[~2016-11-23 11:49 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-20 13:43 [PATCH] mtd: spi-nor: fixed spansion quad enable Joël Esponde
2016-10-20 15:23 ` Cyrille Pitchen
2016-10-21 10:37 ` Esponde, Joel
2016-10-21 12:50 ` Cyrille Pitchen
2016-10-21 13:44 ` Cyrille Pitchen
2016-10-24 8:29 ` Esponde, Joel
2016-10-24 8:33 ` Esponde, Joel
2016-11-16 12:58 ` Cyrille Pitchen
2016-11-22 14:02 ` Esponde, Joel
2016-11-22 22:24 ` [PATCH v2] " Joël Esponde
2016-11-23 10:39 ` Cyrille Pitchen
2016-11-23 14:27 ` Esponde, Joel
2016-11-23 15:35 ` Marek Vasut
2016-11-23 18:21 ` Esponde, Joel
2016-11-23 11:47 ` Joël Esponde [this message]
2016-11-23 14:35 ` [PATCH v3] mtd: spi-nor: fix " Cyrille Pitchen
2016-11-25 14:17 ` Marek Vasut
2016-11-25 14:50 ` Cyrille Pitchen
2016-11-25 15:08 ` Marek Vasut
2016-11-25 16:01 ` Esponde, Joel
2016-11-25 16:43 ` Marek Vasut
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=1479901660-124876-1-git-send-email-joel.esponde@honeywell.com \
--to=joel.esponde@honeywell.com \
--cc=linux-mtd@lists.infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).