[U-Boot-Users] Re: [PATCH] 8xx: fix initialization bug/race condition between u-boot & linux

Wolfgang Denk wd at denx.de
Thu Jun 19 10:31:02 CEST 2003

In message <3EF156E9.9000600 at intracom.gr> you wrote:
> OK. Shouldn't there be at least a comment in the code to mention that?

Feel free to submit a patch.

> > This is a common problem of all bootloaders that don't disable the
> > Ethernet controller after they have performed the network load
> > operation.  You must disable any kind of DMA operation that could
> > write into memory while any software outside of the boot rom is
> > initializing.  Performing the CPM reset in the kernel doesn't solve
> > this problem, it only makes the window of opportunity smaller.
> > With sufficient network traffic and coincidental buffer locations,
> > you will always crash even with the CPM reset in the kernel.
> Yep, it is a job for the bootloader. Wolfgang?

Can you please explain  again  under  which  conditions  the  problem
happened?  As  Dan  explained  there  is good reason NOT to perform a
global CPM reset, but to leave the console UART enabled (which should
be not critical). Regarding network transfers  I  think  that  U-Boot
will   call  eth_halt()  after  all  (attempted)  network  transfers;
eth_halt()  in  turn  calls  driver  functions  (like  scc_halt()  or
fec_halt()) that should disable the network controller.

You wrote:

>   My troubles began when for dpram conflict reasons we
> moved from using a console on an SMC to a max3100 SPI/UART
> converter chip.

I have never seen a crash like the one you reported, and in fact I am
not convinced that it is a global problem. Maybe the problem is  only
introduced by your own SPI/UART driver code?

In any case: if you find a place where a CPM device is not shut  down
before booting Linux please submit a patch. But I would like to avoid
a global CPM reset.

Best regards,

Wolfgang Denk

Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
You can't evaluate a man by logic alone.
	-- McCoy, "I, Mudd", stardate 4513.3

More information about the U-Boot mailing list