On 03/22/2016 06:40 AM, Antony Pavlov wrote:
On Tue, 22 Mar 2016 00:02:57 +0100
Matthias Schiffer [off-list ref] wrote:
quoted
Hi,
we're experiencing weird nondeterministic hangs during bootconsole/console
handover on some ath79 systems on OpenWrt. I've seen this issue myself on
kernel 3.18.23~3.18.27 on a AR7241-based system, but according to other
reports ([1], [2]) kernel 4.1.x is affected as well, and other SoCs like
QCA953x likewise.
See the log below for the exact place it hangs; the log was taken in during
a good boot; a bad boot will just hang forever at the marked location. The
issue is extremely hard to debug, as changing the timing in any way (like
adding additional printk) will usually make it work without problems. (Even
recompiling the kernel with the same config, but different uname timestamp
will make the occurence more or less likely)
My theory is the following:
As soon as ttyS0 is detected and installed as the console, there are two
console drivers active on the serial port at the same time: early0 and
ttyS0. I suspect that the hang occurs when the primitive early0
implementation prom_putchar_ar71xx waits indefinitely on THRE,
Can you use EJTAG to prove your theory?
--
Best regards,
Antony Pavlov
Unfortunately, the board I can reproduce this at the moment does not have
an accessible JTAG port. I hope I can reproduce it on other hardware which
is more developer-friendly, but no luck so far.
Matthias