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

Andreas Bießmann
2013-04-16T14:40:33Z

Dear Wolfgang,

On 04/16/2013 04:23 PM, Wolfgang Denk wrote:
> Dear Andreas,
>
> In message <516D5D0A.20403@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