Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
                return;
 
        pid = tcgetpgrp(fd);
-       if (!is_skas_winch(pid, fd, tty) && (pid == -1)) {
+       if (is_skas_winch(pid, fd, tty)) {
+               register_winch_irq(-1, fd, -1, tty, 0);
+               return;
+       }
+
+       if (pid == -1) {
                thread = winch_tramp(fd, tty, &thread_fd, &stack);
                if (thread < 0)
                        return;
 
 
 int is_skas_winch(int pid, int fd, void *data)
 {
-       if (pid != getpgrp())
-               return 0;
-
-       register_winch_irq(-1, fd, -1, data, 0);
-       return 1;
+       return pid == getpgrp();
 }
 
 static int ptrace_dump_regs(int pid)