diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-11-08 20:55:36 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-11-08 20:55:36 -0500 |
commit | 76d2318020bf0c0c497af986a25977196715a1b9 (patch) | |
tree | 25df17084b76eba7420c3fe9e6690ea5270e7dfd /arch/sh | |
parent | e9c4148fd4f03008ecbe3b673e25764232a15503 (diff) | |
parent | 969e46a8533a3e40ce2146f6764a963b1f5505da (diff) |
Merge branch 'sh/stable-updates'
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/include/asm/rwsem.h | 2 | ||||
-rw-r--r-- | arch/sh/kernel/dwarf.c | 2 | ||||
-rw-r--r-- | arch/sh/mm/cache-sh4.c | 5 |
3 files changed, 6 insertions, 3 deletions
diff --git a/arch/sh/include/asm/rwsem.h b/arch/sh/include/asm/rwsem.h index 1987f3ea7f1b..06e2251a5e48 100644 --- a/arch/sh/include/asm/rwsem.h +++ b/arch/sh/include/asm/rwsem.h | |||
@@ -41,7 +41,7 @@ struct rw_semaphore { | |||
41 | #endif | 41 | #endif |
42 | 42 | ||
43 | #define __RWSEM_INITIALIZER(name) \ | 43 | #define __RWSEM_INITIALIZER(name) \ |
44 | { RWSEM_UNLOCKED_VALUE, SPIN_LOCK_UNLOCKED, \ | 44 | { RWSEM_UNLOCKED_VALUE, __SPIN_LOCK_UNLOCKED((name).wait_lock), \ |
45 | LIST_HEAD_INIT((name).wait_list) \ | 45 | LIST_HEAD_INIT((name).wait_list) \ |
46 | __RWSEM_DEP_MAP_INIT(name) } | 46 | __RWSEM_DEP_MAP_INIT(name) } |
47 | 47 | ||
diff --git a/arch/sh/kernel/dwarf.c b/arch/sh/kernel/dwarf.c index 6c9d0c10f2be..3576b709f052 100644 --- a/arch/sh/kernel/dwarf.c +++ b/arch/sh/kernel/dwarf.c | |||
@@ -567,7 +567,7 @@ struct dwarf_frame * dwarf_unwind_stack(unsigned long pc, | |||
567 | * NOTE: the return address is guaranteed to be setup by the | 567 | * NOTE: the return address is guaranteed to be setup by the |
568 | * time this function makes its first function call. | 568 | * time this function makes its first function call. |
569 | */ | 569 | */ |
570 | if (!pc && !prev) | 570 | if (!pc || !prev) |
571 | pc = (unsigned long)current_text_addr(); | 571 | pc = (unsigned long)current_text_addr(); |
572 | 572 | ||
573 | #ifdef CONFIG_FUNCTION_GRAPH_TRACER | 573 | #ifdef CONFIG_FUNCTION_GRAPH_TRACER |
diff --git a/arch/sh/mm/cache-sh4.c b/arch/sh/mm/cache-sh4.c index b5abe949c6ed..6bfd08d5fb81 100644 --- a/arch/sh/mm/cache-sh4.c +++ b/arch/sh/mm/cache-sh4.c | |||
@@ -65,6 +65,7 @@ static void __uses_jump_to_uncached sh4_flush_icache_range(void *args) | |||
65 | 65 | ||
66 | for (v = start; v < end; v += L1_CACHE_BYTES) { | 66 | for (v = start; v < end; v += L1_CACHE_BYTES) { |
67 | unsigned long icacheaddr; | 67 | unsigned long icacheaddr; |
68 | int j, n; | ||
68 | 69 | ||
69 | __ocbwb(v); | 70 | __ocbwb(v); |
70 | 71 | ||
@@ -72,8 +73,10 @@ static void __uses_jump_to_uncached sh4_flush_icache_range(void *args) | |||
72 | cpu_data->icache.entry_mask); | 73 | cpu_data->icache.entry_mask); |
73 | 74 | ||
74 | /* Clear i-cache line valid-bit */ | 75 | /* Clear i-cache line valid-bit */ |
76 | n = boot_cpu_data.icache.n_aliases; | ||
75 | for (i = 0; i < cpu_data->icache.ways; i++) { | 77 | for (i = 0; i < cpu_data->icache.ways; i++) { |
76 | __raw_writel(0, icacheaddr); | 78 | for (j = 0; j < n; j++) |
79 | __raw_writel(0, icacheaddr + (j * PAGE_SIZE)); | ||
77 | icacheaddr += cpu_data->icache.way_incr; | 80 | icacheaddr += cpu_data->icache.way_incr; |
78 | } | 81 | } |
79 | } | 82 | } |