
On Wed, Jan 19, 2011 at 07:59:10AM +0100, Wolfgang Denk wrote:
Based on empirical testing, I've discovered that re-running init_baudrate() after env_relocate() fixes everything. The serial console uses the baud rate stored in the "baudrate" variable now, and some ordering of display outputs needs to be tweaked so that gibberish isn't output in the interim.
You have diagnosed where the problem is, but you come to the wrong conclusions and instead of fixing the problem you paint over it.
Obviously getenv_r("baudrate") is not returning the right value for you.
You should first check, what exactly it returns.
Then you should check why it is not reading the correct data, as it is supposed to do.
Then you should fix _that_ problem.
Thanks for the feedback. I hope that someone else can continue this work now that I've identified the problem and have developed a solution that works for my needs with no obvious side-effects.
Given that this is such base functionality, I'm surprised that no one else has mentioned anything up to this point; I guess no one else attempts to change the baud rate for subsequent reboots? (Rhetorical, no need to answer.)
All the best with the upcoming release,
Chris