mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
[ar71xx] update to 2.6.26
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11968 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
--- a/include/asm-mips/hazards.h
|
||||
+++ b/include/asm-mips/hazards.h
|
||||
@@ -64,7 +64,7 @@
|
||||
_ehb
|
||||
)
|
||||
ASMMACRO(back_to_back_c0_hazard,
|
||||
- _ehb
|
||||
+ _ssnop; _ssnop; _ssnop; _ehb
|
||||
)
|
||||
/*
|
||||
* gcc has a tradition of misscompiling the previous construct using the
|
||||
--- a/arch/mips/kernel/cevt-r4k.c
|
||||
+++ b/arch/mips/kernel/cevt-r4k.c
|
||||
@@ -187,7 +187,7 @@
|
||||
*/
|
||||
if (c0_compare_int_pending()) {
|
||||
write_c0_compare(read_c0_count());
|
||||
- irq_disable_hazard();
|
||||
+ back_to_back_c0_hazard();
|
||||
if (c0_compare_int_pending())
|
||||
return 0;
|
||||
}
|
||||
@@ -196,7 +196,7 @@
|
||||
cnt = read_c0_count();
|
||||
cnt += delta;
|
||||
write_c0_compare(cnt);
|
||||
- irq_disable_hazard();
|
||||
+ back_to_back_c0_hazard();
|
||||
if ((int)(read_c0_count() - cnt) < 0)
|
||||
break;
|
||||
/* increase delta if the timer was already expired */
|
||||
@@ -205,11 +205,12 @@
|
||||
while ((int)(read_c0_count() - cnt) <= 0)
|
||||
; /* Wait for expiry */
|
||||
|
||||
+ back_to_back_c0_hazard();
|
||||
if (!c0_compare_int_pending())
|
||||
return 0;
|
||||
|
||||
write_c0_compare(read_c0_count());
|
||||
- irq_disable_hazard();
|
||||
+ back_to_back_c0_hazard();
|
||||
if (c0_compare_int_pending())
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user