From: Ladislav Michl <ladis@linux-mips.org>
To: barebox@lists.infradead.org
Subject: mtd_peb_write broken on dataflash
Date: Thu, 20 Sep 2018 20:27:01 +0200 [thread overview]
Message-ID: <20180920182701.GA18781@lenoch> (raw)
As mtd_peb_write checks for alignment, it fails writing to dataflash:
barebox$ state -s
ERROR: state: Failed to write PEB 0, -22
ERROR: state: Failed to write circular to 0 length 48, -22
WARNING: state: Failed to write state backend bucket, -22
ERROR: state: Failed to write PEB 1, -22
ERROR: state: Failed to write circular to 0 length 48, -22
WARNING: state: Failed to write state backend bucket, -22
ERROR: state: Failed to write PEB 2, -22
ERROR: state: Failed to write circular to 0 length 48, -22
WARNING: state: Failed to write state backend bucket, -22
ERROR: state: Failed to write state to at least 1 buckets. Successfully written to 0 buckets
ERROR: state: Failed to write packed state, -5
state: I/O error
Patch bellow is a naive fix just to show where problem is.
There's also problem erasing dataflash:
barebox$ erase /dev/dataflash0.barebox-state
erase: Invalid argument
I guess we'll run into similar issue for MTD_RAM, so question is whenever
we want such a strict check here at all. Opinions?
Thank you.
---
drivers/mtd/peb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mtd/peb.c b/drivers/mtd/peb.c
index c35b63f2f..6035fbc45 100644
--- a/drivers/mtd/peb.c
+++ b/drivers/mtd/peb.c
@@ -376,7 +376,7 @@ int mtd_peb_write(struct mtd_info *mtd, const void *buf, int pnum, int offset,
return -EINVAL;
if (len <= 0)
return -EINVAL;
- if (len % (mtd->writesize >> mtd->subpage_sft))
+ if (mtd->type != MTD_DATAFLASH && len % (mtd->writesize >> mtd->subpage_sft))
return -EINVAL;
if (mtd_peb_is_bad(mtd, pnum))
return -EINVAL;
--
2.19.0
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next reply other threads:[~2018-09-20 18:27 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-20 18:27 Ladislav Michl [this message]
2018-09-21 7:11 ` mtd_peb_write broken on dataflash Sascha Hauer
2018-09-21 9:46 ` Ladislav Michl
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=20180920182701.GA18781@lenoch \
--to=ladis@linux-mips.org \
--cc=barebox@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 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.