diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-08-18 09:42:43 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-08-18 09:42:43 -0700 |
commit | 203f3394397642f2f9d9ee760f03420459b7a8ef (patch) | |
tree | 75fdd447e2cebd0919988f42a2f34c5fbe9923d8 /arch | |
parent | ef1c5339d9413ab57c9b2aa768f3c67485d11acb (diff) | |
parent | 96989d9d754ef1fa55e71beff6a076f79cc1717e (diff) | |
download | op-kernel-dev-203f3394397642f2f9d9ee760f03420459b7a8ef.zip op-kernel-dev-203f3394397642f2f9d9ee760f03420459b7a8ef.tar.gz |
Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.23
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.23:
sh: remove extraneous ; on scif_sercon_putc wait loop
sh: Add missing dma_sync_single_range_for_*().
sh: panic on machvec section misalignment.
sh: Fix PTRACE_PEEKTEXT/PEEKDATA fallout from generic_ptrace_peekdata().
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sh/kernel/early_printk.c | 2 | ||||
-rw-r--r-- | arch/sh/kernel/machvec.c | 7 | ||||
-rw-r--r-- | arch/sh/kernel/ptrace.c | 1 |
3 files changed, 9 insertions, 1 deletions
diff --git a/arch/sh/kernel/early_printk.c b/arch/sh/kernel/early_printk.c index 9833493..80b637c 100644 --- a/arch/sh/kernel/early_printk.c +++ b/arch/sh/kernel/early_printk.c @@ -76,7 +76,7 @@ static void scif_sercon_putc(int c) sci_in(&scif_port, SCxSR); sci_out(&scif_port, SCxSR, 0xf3 & ~(0x20 | 0x40)); - while ((sci_in(&scif_port, SCxSR) & 0x40) == 0); + while ((sci_in(&scif_port, SCxSR) & 0x40) == 0) ; if (c == '\n') diff --git a/arch/sh/kernel/machvec.c b/arch/sh/kernel/machvec.c index 23c5948..129b2cf 100644 --- a/arch/sh/kernel/machvec.c +++ b/arch/sh/kernel/machvec.c @@ -91,6 +91,13 @@ void __init sh_mv_setup(void) (unsigned long)&__machvec_start); /* + * Sanity check for machvec section alignment. Ensure + * __initmv hasn't been misused. + */ + if (machvec_size % sizeof(struct sh_machine_vector)) + panic("machvec misaligned, invalid __initmv use?"); + + /* * If the machvec hasn't been preselected, use the first * vector (usually the only one) from .machvec.init. */ diff --git a/arch/sh/kernel/ptrace.c b/arch/sh/kernel/ptrace.c index 891d1d4..f64a2d2 100644 --- a/arch/sh/kernel/ptrace.c +++ b/arch/sh/kernel/ptrace.c @@ -93,6 +93,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) case PTRACE_PEEKTEXT: /* read word at location addr. */ case PTRACE_PEEKDATA: ret = generic_ptrace_peekdata(child, addr, data); + break; /* read the word at location addr in the USER area. */ case PTRACE_PEEKUSR: { |