* [U-Boot] [patch 1/1] Make usb-stop() safe to call multiple times in a row.
2008-08-20 9:22 ` [U-Boot] [patch 1/1] Make usb-stop() safe to call multiple times in a row Remy Bohmer
@ 2008-09-09 14:35 ` Markus Klotzbücher
2008-09-09 15:00 ` Wolfgang Denk
2008-09-09 14:59 ` Wolfgang Denk
1 sibling, 1 reply; 5+ messages in thread
From: Markus Klotzbücher @ 2008-09-09 14:35 UTC (permalink / raw)
To: u-boot
On Wed, Aug 20, 2008 at 11:22:02AM +0200, Remy Bohmer wrote:
> A recent commit (936897d4d1365452bbbdf8430db5e7769ef08d38)
> enabled the usb_stop() command in common/cmd_bootm.c which was
> not enabled for some time, because no board did actually set the
> CFG_CMD_USB flag. So, now the usb_stop() is executed before
> loading the linux kernel.
>
> However, the usb_ohci driver hangs up (at least on AT91SAM) if the
> driver is stopped twice (e.g. the peripheral clock is stopped on AT91).
> If some other piece of code calls usb_stop() before the bootm command,
> this command will hangup the system during boot.
> (usb start and stop is typically used while booting from usb memory stick)
>
> But, stopping the usb stack twice is useless anyway, and a flag already
> existed that kept track on the usb_init()/usb_stop() calls.
> So, we now check if the usb stack is really started before we stop it.
>
> This problem is now fixed in both the upper as low-level layer.
>
> Signed-off-by: Remy Bohmer <linux@bohmer.net>
Acked-by: Markus Klotzbuecher <mk@denx.de>
Wolfgang, please apply!
Best regards
Markus
--
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")
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [patch 1/1] Make usb-stop() safe to call multiple times in a row.
2008-08-20 9:22 ` [U-Boot] [patch 1/1] Make usb-stop() safe to call multiple times in a row Remy Bohmer
2008-09-09 14:35 ` Markus Klotzbücher
@ 2008-09-09 14:59 ` Wolfgang Denk
1 sibling, 0 replies; 5+ messages in thread
From: Wolfgang Denk @ 2008-09-09 14:59 UTC (permalink / raw)
To: u-boot
Dear Remy Bohmer,
In message <20080820092551.478336687@bohmer.net>> you wrote:
> A recent commit (936897d4d1365452bbbdf8430db5e7769ef08d38)
> enabled the usb_stop() command in common/cmd_bootm.c which was
> not enabled for some time, because no board did actually set the
> CFG_CMD_USB flag. So, now the usb_stop() is executed before
> loading the linux kernel.
>
> However, the usb_ohci driver hangs up (at least on AT91SAM) if the
> driver is stopped twice (e.g. the peripheral clock is stopped on AT91).
> If some other piece of code calls usb_stop() before the bootm command,
> this command will hangup the system during boot.
> (usb start and stop is typically used while booting from usb memory stick)
>
> But, stopping the usb stack twice is useless anyway, and a flag already
> existed that kept track on the usb_init()/usb_stop() calls.
> So, we now check if the usb stack is really started before we stop it.
>
> This problem is now fixed in both the upper as low-level layer.
>
> Signed-off-by: Remy Bohmer <linux@bohmer.net>
> ---
> common/usb.c | 13 +++++++++----
> drivers/usb/usb_ohci.c | 4 +++-
> 2 files changed, 12 insertions(+), 5 deletions(-)
Aplied, thanks.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The Gates in my computer are AND, OR and NOT; they are not Bill.
^ permalink raw reply [flat|nested] 5+ messages in thread