[U-Boot] [PATCH] make hang() a weak function

Andreas Bießmann andreas.devel at googlemail.com
Tue Apr 16 16:40:33 CEST 2013


Dear Wolfgang,

On 04/16/2013 04:23 PM, Wolfgang Denk wrote:
> Dear Andreas,
> 
> In message <516D5D0A.20403 at gmail.com> you wrote:
>>
>> In my opinion it makes sense to panic(). In my special case I also need
>> to hang() when panic(). The next question is then how to visualize the
>> (end-)user of that device that we hang().
> 
> The intention behind hang() is to stop doing anything, i. e. to idle
> the board.  Nothing else.
> 
> We can argue if this is always a good thing to do.  For example, in
> some situations it may be possible to switch off the board instead.
> Or, as in your case, to run some code to visualize the state.
> 
> I fully agree that these are perfectly reasonable use cases for fatal
> error handling in U-Boot.  But then, these are not functions to be
> implemented in the context of hang().  Hang is a synonym for "place
> the CPU into an infinite loop and stop doing anything else".
> 
> If you call hang() you agree to hang the system.

I got your point.

> If you want to do something else, then please do not call hang(), but
> some other function.

I will find a solution for my very specific state of the device.

But how about other places in u-boot hang()ing the device? How can we
tell the user that state without a terminal? If one plugs a uart cable
he might see some cause of the hang() but this is not acceptable for
some groups of users.
Is it wise to completely stop a device without showing the state to the
user?
This question is a bit hypothetical cause we should eliminate the root
causes for hang()s before going to market. However I would like to hear
your thoughts about that.

Best regards

Andreas Bießmann


More information about the U-Boot mailing list