[U-Boot] [U-Boot,v2] menu: fix timeout duration

Tom Rini trini at konsulko.com
Wed Jun 6 11:15:59 UTC 2018


On Thu, May 24, 2018 at 05:04:57PM +0900, Masahiro Yamada wrote:

> For distro-boot, the TIMEOUT directive in the boot script specifies
> how long to pause in units of 1/10 sec. [1]
> 
> Commit 8594753ba0a7 ("menu: only timeout when menu is displayed")
> corrected this by simply dividing the timeout value by 10 in
> menu_interactive_choice().
> 
> I see two problems:
> 
>  - For example, "TIMEOUT 5" should wait for 0.5 sec, but the current
>    implementation cannot handle the granularity of 1/10 sec.
>    In fact, it never breaks because "m->timeout / 10" is zero,
>    which means no timeout.
> 
>  - The menu API is used not only by cmd/pxe.c but also by
>    common/autoboot.c .  For the latter case, the unit of the
>    timeout value is _second_ because its default is associated
>    with CONFIG_BOOTDELAY.
> 
> To fix the first issue, use DIV_ROUND_UP() so that the timeout value
> is rounded up to the closest integer.
> 
> For the second issue, move the division to the boundary between
> cmd/pxe.c and common/menu.c .  This is a more desirable place because
> the comment of struct pxe_menu says:
> 
>  * timeout - time in tenths of a second to wait for a user key-press before
>  *           booting the default label.
> 
> Then, the comment of menu_create() says:
> 
>  * timeout - A delay in seconds to wait for user input. If 0, timeout is
>  * disabled, and the default choice will be returned unless prompt is 1.
> 
> [1] https://www.syslinux.org/wiki/index.php?title=SYSLINUX#TIMEOUT_timeout
> 
> Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180606/1f49291c/attachment.sig>


More information about the U-Boot mailing list