diff options
author | Graf Yang <graf.yang@analog.com> | 2008-10-27 06:12:53 -0400 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2008-10-27 06:12:53 -0400 |
commit | 6776cf4476833df0f1e96bd9dba18c1ea4f582d5 (patch) | |
tree | 72925f2fe743e1ba5cef2cfa78c0269b6ba2f047 | |
parent | 6a0bfff44e4aa4ee1721b3daa004d2039576c70d (diff) |
Blackfin arch: fix bug - Fail to boot jffs2 kernel for BF561 with SMP patch
only if the cplb block overlapped with kernel area, this cplb need be locked
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
-rw-r--r-- | arch/blackfin/kernel/cplb-nompu/cplbinit.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/blackfin/kernel/cplb-nompu/cplbinit.c b/arch/blackfin/kernel/cplb-nompu/cplbinit.c index 512f8c92ead5..2debc900e246 100644 --- a/arch/blackfin/kernel/cplb-nompu/cplbinit.c +++ b/arch/blackfin/kernel/cplb-nompu/cplbinit.c | |||
@@ -188,10 +188,11 @@ static struct cplb_desc cplb_data[] = { | |||
188 | 188 | ||
189 | static u16 __init lock_kernel_check(u32 start, u32 end) | 189 | static u16 __init lock_kernel_check(u32 start, u32 end) |
190 | { | 190 | { |
191 | if ((end <= (u32) _end && end >= (u32)_stext) || | 191 | if (start >= (u32)_end || end <= (u32)_stext) |
192 | (start <= (u32) _end && start >= (u32)_stext)) | 192 | return 0; |
193 | return IN_KERNEL; | 193 | |
194 | return 0; | 194 | /* This cplb block overlapped with kernel area. */ |
195 | return IN_KERNEL; | ||
195 | } | 196 | } |
196 | 197 | ||
197 | static unsigned short __init | 198 | static unsigned short __init |