0112153a0e
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 |
||
---|---|---|
.. | ||
001-ar71xx_core.patch | ||
002-ar71xx_pci.patch | ||
003-ar71xx_usb_host.patch | ||
004-ar71xx_spi_controller.patch | ||
005-ar71xx_mac_driver.patch | ||
006-ar71xx_wdt_driver.patch | ||
007-ar91xx_flash_driver.patch | ||
101-ksz8041_phy_driver.patch | ||
102-mtd_m25p80_add_myloader_parser.patch | ||
104-mtd_m25p80_add_redboot_parser.patch | ||
107-mtd-SST39VF6401B-support.patch | ||
108-mtd_fix_cfi_cmdset_0002_status_check.patch | ||
109-mtd-wrt160nl-trx-parser.patch | ||
110-usb-ehci-add-war-for-synopsys-hc-bug.patch | ||
111-mtd-cfi_cmdset_0002-force-word-write.patch | ||
120-dsa-trailer-tag-validation-fix.patch | ||
121-dsa-add-88e6063-driver.patch | ||
140-redboot_partition_scan.patch | ||
150-drivers-link-spi-before-mtd.patch | ||
151-spi-add-various-flags.patch | ||
152-rb4xx-spi-driver.patch | ||
153-spi-rb4xx-cpld-driver.patch | ||
200-rb4xx_nand_driver.patch | ||
201-ap83_spi_controller.patch | ||
202-spi_vsc7385_driver.patch | ||
203-pb44_spi_controller.patch | ||
205-wndr3700-usb-led-driver.patch | ||
206-nxp-74hc153-gpio-chip-driver.patch | ||
207-rb750-led-driver.patch | ||
208-rb750-nand-driver.patch | ||
300-mips_fw_myloader.patch | ||
400-2.6.35-fix-nand_scan_ident-options.patch | ||
500-ar933x-uart-driver.patch | ||
901-get_c0_compare_irq_function.patch | ||
902-fix-occasional-kernel-hangs-during-boot.patch | ||
910-unaligned_access_hacks.patch | ||
920-mdio_bitbang_ignore_ta_value.patch |