
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