From: Hector Palacios <hector.palacios@digi.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2] ubi: enable error reporting in initialization
Date: Thu, 18 Dec 2014 10:19:02 +0100 [thread overview]
Message-ID: <54929C06.50308@digi.com> (raw)
In-Reply-To: <1415215917-9149-1-git-send-email-andrew.ruder@elecsyscorp.com>
Hi Andrew,
On 11/05/2014 08:31 PM, Andrew Ruder wrote:
> The UBI layer will disable much of its error reporting when it is
> compiled into the linux kernel to avoid stopping boot. We want this
> error reporting in U-Boot since we don't initialize the UBI layer until
> it is used and want the error reporting.
>
> We force this by telling the UBI layer we are building as a module.
>
> Signed-off-by: Andrew Ruder <andrew.ruder@elecsyscorp.com>
> Cc: Wolfgang Denk <wd@denx.de>
> Cc: Heiko Schocher <hs@denx.de>
> Cc: Kyungmin Park <kmpark@infradead.org>
> ---
> include/ubi_uboot.h | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/include/ubi_uboot.h b/include/ubi_uboot.h
> index 1fd15f4..324fe72 100644
> --- a/include/ubi_uboot.h
> +++ b/include/ubi_uboot.h
> @@ -51,6 +51,14 @@
>
> #undef CONFIG_MTD_UBI_BLOCK
>
> +/* ubi_init() disables returning error codes when built into the Linux
> + * kernel so that it doesn't hang the Linux kernel boot process. Since
> + * the U-Boot driver code depends on getting valid error codes from this
> + * function we just tell the UBI layer that we are building as a module
> + * (which only enables the additional error reporting).
> + */
> +#define CONFIG_MTD_UBI_MODULE
> +
> #if !defined(CONFIG_MTD_UBI_BEB_LIMIT)
> #define CONFIG_MTD_UBI_BEB_LIMIT 20
> #endif
>
I applied this patch but apparently I'm suffering a memory leak in a certain
condition. I wonder if you can reproduce it:
1. Assume you have an empty partition called "MyPart".
2. Write it with some dummy data:
=> mw.l $loadaddr deadbeed 1000
=> nand write $loadaddr MyPart 1000
3. Set it as the UBI part:
=> ubi part MyPart
This (which returned 0 before, despite failing during the attach procedure now should
return an error).
4. Run the command again several times:
=> ubi part MyPart
=> ubi part MyPart
In my case, after calling this three times, the target hangs. I think the exit path in
ubi_init() does not properly free every allocated memory. I was not able to find the
root cause, though.
Regards
--
Hector Palacios
prev parent reply other threads:[~2014-12-18 9:19 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-05 19:31 [U-Boot] [PATCH v2] ubi: enable error reporting in initialization Andrew Ruder
2014-12-17 17:48 ` Hector Palacios
2014-12-18 9:19 ` Hector Palacios [this message]
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=54929C06.50308@digi.com \
--to=hector.palacios@digi.com \
--cc=u-boot@lists.denx.de \
/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.