diff options
Diffstat (limited to 'arch/microblaze/kernel/signal.c')
-rw-r--r-- | arch/microblaze/kernel/signal.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/arch/microblaze/kernel/signal.c b/arch/microblaze/kernel/signal.c index 449886db35a2..7f4c7bef1642 100644 --- a/arch/microblaze/kernel/signal.c +++ b/arch/microblaze/kernel/signal.c | |||
@@ -339,13 +339,14 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, | |||
339 | * the kernel can handle, and then we build all the user-level signal handling | 339 | * the kernel can handle, and then we build all the user-level signal handling |
340 | * stack-frames in one go after that. | 340 | * stack-frames in one go after that. |
341 | */ | 341 | */ |
342 | static int do_signal(struct pt_regs *regs, sigset_t *oldset, int in_syscall) | 342 | static void do_signal(struct pt_regs *regs, int in_syscall) |
343 | { | 343 | { |
344 | siginfo_t info; | 344 | siginfo_t info; |
345 | int signr; | 345 | int signr; |
346 | struct k_sigaction ka; | 346 | struct k_sigaction ka; |
347 | sigset_t *oldset; | ||
347 | #ifdef DEBUG_SIG | 348 | #ifdef DEBUG_SIG |
348 | printk(KERN_INFO "do signal: %p %p %d\n", regs, oldset, in_syscall); | 349 | printk(KERN_INFO "do signal: %p %d\n", regs, in_syscall); |
349 | printk(KERN_INFO "do signal2: %lx %lx %ld [%lx]\n", regs->pc, regs->r1, | 350 | printk(KERN_INFO "do signal2: %lx %lx %ld [%lx]\n", regs->pc, regs->r1, |
350 | regs->r12, current_thread_info()->flags); | 351 | regs->r12, current_thread_info()->flags); |
351 | #endif | 352 | #endif |
@@ -370,7 +371,7 @@ static int do_signal(struct pt_regs *regs, sigset_t *oldset, int in_syscall) | |||
370 | current_thread_info()->status &= | 371 | current_thread_info()->status &= |
371 | ~TS_RESTORE_SIGMASK; | 372 | ~TS_RESTORE_SIGMASK; |
372 | } | 373 | } |
373 | return 1; | 374 | return; |
374 | } | 375 | } |
375 | 376 | ||
376 | if (in_syscall) | 377 | if (in_syscall) |
@@ -384,12 +385,9 @@ static int do_signal(struct pt_regs *regs, sigset_t *oldset, int in_syscall) | |||
384 | current_thread_info()->status &= ~TS_RESTORE_SIGMASK; | 385 | current_thread_info()->status &= ~TS_RESTORE_SIGMASK; |
385 | sigprocmask(SIG_SETMASK, ¤t->saved_sigmask, NULL); | 386 | sigprocmask(SIG_SETMASK, ¤t->saved_sigmask, NULL); |
386 | } | 387 | } |
387 | |||
388 | /* Did we come from a system call? */ | ||
389 | return 0; | ||
390 | } | 388 | } |
391 | 389 | ||
392 | void do_notify_resume(struct pt_regs *regs, sigset_t *oldset, int in_syscall) | 390 | void do_notify_resume(struct pt_regs *regs, int in_syscall) |
393 | { | 391 | { |
394 | /* | 392 | /* |
395 | * We want the common case to go fast, which | 393 | * We want the common case to go fast, which |
@@ -401,7 +399,7 @@ void do_notify_resume(struct pt_regs *regs, sigset_t *oldset, int in_syscall) | |||
401 | return; | 399 | return; |
402 | 400 | ||
403 | if (test_thread_flag(TIF_SIGPENDING)) | 401 | if (test_thread_flag(TIF_SIGPENDING)) |
404 | do_signal(regs, oldset, in_syscall); | 402 | do_signal(regs, in_syscall); |
405 | 403 | ||
406 | if (test_and_clear_thread_flag(TIF_NOTIFY_RESUME)) { | 404 | if (test_and_clear_thread_flag(TIF_NOTIFY_RESUME)) { |
407 | tracehook_notify_resume(regs); | 405 | tracehook_notify_resume(regs); |