diff mbox

[U-Boot] mx6sabre_common: Avoid console hang due to small CONFIG_SYS_PBSIZE

Message ID 1400464963-5578-1-git-send-email-festevam@gmail.com
State Changes Requested
Delegated to: Stefano Babic
Headers show

Commit Message

Fabio Estevam May 19, 2014, 2:02 a.m. UTC
From: Fabio Estevam <fabio.estevam@freescale.com>

Entering the maximum number of characters defined by CONFIG_SYS_CBSIZE into 
the console and hitting enter afterwards, causes a hang in the system because
CONFIG_SYS_PBSIZE is not capable of storing the characters of the error message:
"Unknown command '' - try 'help'"

Increase the size of CONFIG_SYS_PBSIZE so that it can store the error message 
and allows the error message to be printed correctly with no hang.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
This problem affects many boards.

Maybe a global fix is to add a CONFIG_SYS_PBSIZE entry into config_fallbacks
and remove its definition from the board config files when it is defined as:
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)

or even when it is equal to CONFIG_SYS_CBSIZE.

 include/configs/mx6sabre_common.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Josh Wu May 19, 2014, 6:18 a.m. UTC | #1
Hi, Dear Fabio

On 5/19/2014 10:02 AM, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam@freescale.com>
>
> Entering the maximum number of characters defined by CONFIG_SYS_CBSIZE into
> the console and hitting enter afterwards, causes a hang in the system because
> CONFIG_SYS_PBSIZE is not capable of storing the characters of the error message:
> "Unknown command '' - try 'help'"
>
> Increase the size of CONFIG_SYS_PBSIZE so that it can store the error message
> and allows the error message to be printed correctly with no hang.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> ---
> This problem affects many boards.

This hang up can be reproduced in at91sam9m10g45ek board.

>
> Maybe a global fix is to add a CONFIG_SYS_PBSIZE entry into config_fallbacks
> and remove its definition from the board config files when it is defined as:

I think this way is a really fix for the issue.  So it's better to 
generate such a patch to fix it for many boards in U-Boot.

Best Regards,
Josh Wu

> #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
>
> or even when it is equal to CONFIG_SYS_CBSIZE.
>
>   include/configs/mx6sabre_common.h | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h
> index e59a3b4..6017a20 100644
> --- a/include/configs/mx6sabre_common.h
> +++ b/include/configs/mx6sabre_common.h
> @@ -217,7 +217,7 @@
>   #define CONFIG_SYS_CBSIZE              256
>   
>   /* Print Buffer Size */
> -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
> +#define CONFIG_SYS_PBSIZE		384
>   #define CONFIG_SYS_MAXARGS             16
>   #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
>
Stefano Babic June 6, 2014, 8:39 a.m. UTC | #2
Hi Fabio,

On 19/05/2014 04:02, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam@freescale.com>
> 
> Entering the maximum number of characters defined by CONFIG_SYS_CBSIZE into 
> the console and hitting enter afterwards, causes a hang in the system because
> CONFIG_SYS_PBSIZE is not capable of storing the characters of the error message:
> "Unknown command '' - try 'help'"
> 
> Increase the size of CONFIG_SYS_PBSIZE so that it can store the error message 
> and allows the error message to be printed correctly with no hang.
> 
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> ---
> This problem affects many boards.
> 
> Maybe a global fix is to add a CONFIG_SYS_PBSIZE entry into config_fallbacks
> and remove its definition from the board config files when it is defined as:
> #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
> 

IMHO this is much better as fixing each single board.

> or even when it is equal to CONFIG_SYS_CBSIZE.

I would not add any further check : if a board maintainer add
CONFIG_SYS_PBSIZE to each own config file, he must know what he is
doing. If it is not set, config_fallbacks defines CONFIG_SYS_PBSIZE

Regards,
Stefano
diff mbox

Patch

diff --git a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h
index e59a3b4..6017a20 100644
--- a/include/configs/mx6sabre_common.h
+++ b/include/configs/mx6sabre_common.h
@@ -217,7 +217,7 @@ 
 #define CONFIG_SYS_CBSIZE              256
 
 /* Print Buffer Size */
-#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
+#define CONFIG_SYS_PBSIZE		384
 #define CONFIG_SYS_MAXARGS             16
 #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE