Openwrt/target/linux/ar71xx
Gabor Juhos 0112153a0e ar71xx: fix occasional kernel hangs during boot on AR934x
The patch taken from the linux-mips mailing list.

The Kernel hangs occasionally during boot after
"Calibrating delay loop..". This is caused by the
c0_compare_int_usable() routine in cevt-r4k.c
returning false which causes the system to disable
the timer and hang later. The false return happens
because the routine is using a series of four calls
to irq_disable_hazard() as a delay while it waits
for the timer changes to propagate to the cp0 cause
register. On newer MIPS cores, like the 74K, the
series of irq_disable_hazard() calls turn into ehb
instructions and can take as little as a few clock
ticks for all 4 instructions. This is not enough of
a delay, so the routine thinks the timer is not
working.

This fix uses up to a max number of cycle counter
ticks for the delay and uses back_to_back_c0_hazard()
instead of irq_disable_hazard() to handle the hazard
condition between cp0 writes and cp0 reads.

SVN-Revision: 29009
2011-11-13 11:26:52 +00:00
..
base-files ar71xx: add diag support for the DB120 board 2011-11-12 10:54:10 +00:00
files ar71xx: use the button for WPS control on the DB120 2011-11-12 12:50:20 +00:00
generic ar71xx: build image for the Buffalo WHR-HP-GN 2011-11-07 12:59:11 +00:00
image ar71xx: change generated Buffalo firmware versions 2011-11-07 21:34:32 +00:00
nand linux: ar71xx: add support for Mikrotik Routerboard RB493G 2011-10-11 23:05:16 +00:00
patches-2.6.39 ar71xx: fix occasional kernel hangs during boot on AR934x 2011-11-13 11:26:52 +00:00
base-files.mk
config-2.6.39 ar71xx: enable WHR-HP-G300N support in kernel config 2011-11-07 12:59:04 +00:00
Makefile ar71xx: clean up profiles, put in kmod-ath9k and wpad-mini by default (fixes #9954) 2011-09-05 18:37:48 +00:00