Some mtd drivers like the spi-nor driver do not assign a value to the retlen pointer but instead only add the bytes written to *retlen. Users of mtd_write expect the variable to be initialized by the mtd core though, so we have to do it in mtd_write(). The same is done in mtd_read already. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- drivers/mtd/core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/mtd/core.c b/drivers/mtd/core.c index d873369..62307db 100644 --- a/drivers/mtd/core.c +++ b/drivers/mtd/core.c @@ -340,6 +340,8 @@ int mtd_read(struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen, int mtd_write(struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf) { + *retlen = 0; + return mtd->write(mtd, to, len, retlen, buf); } -- 2.6.2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox