[U-Boot-Users] [PATCH] USB: shutdown USB before booting

Stefan Roese sr at denx.de
Thu Jul 10 15:02:14 CEST 2008


Hi Markus,

On Thursday 10 July 2008, Markus Klotzbücher wrote:
> This patch fixes a potentially serious issue related to USB which was
> discouvered by Martin Krause <martin.krause at tqs.de> and fixed for
> ARM920T. Martin wrote:
>
>   Turn off USB to prevent the host controller from writing to the
>   SDRAM while Linux is booting. This could happen, because the HCCA
>   (Host Controller Communication Area) lies within the SDRAM and the
>   host controller writes continously to this area (as busmaster!), for
>   example to increase the HccaFrameNumber variable, which happens
>   every 1 ms.
>
> This is a slightly modified version of the patch in order to shutdown
> USB when booting on all architectures.

Yes, I remember hearing of this problem. I thought it was already fixed. Seems 
not to be the case. Please find a comment below.

> Signed-off-by: Markus Klotzbuecher <mk at denx.de>
> ---
>  common/cmd_bootm.c |   18 ++++++++++++++++++
>  1 files changed, 18 insertions(+), 0 deletions(-)
>
> diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c

By implementing this usb_stop() in do_bootm() you prevent this problem in many 
cases (e.g. Linux booting). But unfortunately not in all cases. For 
example "bootelf" or "bootvx" are not fixed.

Can't this be solved in a different way. By calling usb_stop each time after 
an USB command completes. IIRC, this is how it is done in the U-Boot network 
implementation too.

What do you think?

Best regards,
Stefan

=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================




More information about the U-Boot mailing list