__group_send_sig_info(SIGKILL, SEND_SIG_PRIV, tsk);
                        return;
                }
+
                if (rtim >= soft) {
                        /*
                         * At the soft limit, send a SIGXCPU every second.
                         */
-                       if (soft < hard) {
-                               soft += USEC_PER_SEC;
-                               tsk->signal->rlim[RLIMIT_RTTIME].rlim_cur =
-                                       soft;
-                       }
+                       soft += USEC_PER_SEC;
+                       tsk->signal->rlim[RLIMIT_RTTIME].rlim_cur = soft;
+
                        if (print_fatal_signals) {
                                pr_info("RT Watchdog Timeout (soft): %s[%d]\n",
                                        tsk->comm, task_pid_nr(tsk));
                                        tsk->comm, task_pid_nr(tsk));
                        }
                        __group_send_sig_info(SIGXCPU, SEND_SIG_PRIV, tsk);
-                       if (soft < hard) {
-                               sig->rlim[RLIMIT_CPU].rlim_cur = soft + 1;
-                               softns += NSEC_PER_SEC;
-                       }
+
+                       sig->rlim[RLIMIT_CPU].rlim_cur = soft + 1;
+                       softns += NSEC_PER_SEC;
                }
 
                /* Update the expiry cache */