From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Roese Date: Thu, 10 Jul 2008 15:02:14 +0200 Subject: [U-Boot-Users] [PATCH] USB: shutdown USB before booting In-Reply-To: <87iqvdzz1u.fsf@denx.de> References: <87iqvdzz1u.fsf@denx.de> Message-ID: <200807101502.14543.sr@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 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 > --- > 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 =====================================================================