preempt_enable_no_resched();
                        }
                        return 1;
-               } else {
-                       if (addr->word != breakpoint_insn.word) {
-                               /*
-                                * The breakpoint instruction was removed by
-                                * another cpu right after we hit, no further
-                                * handling of this interrupt is appropriate
-                                */
-                               ret = 1;
-                               goto no_kprobe;
-                       }
-                       p = __this_cpu_read(current_kprobe);
-                       if (p->break_handler && p->break_handler(p, regs))
-                               goto ss_probe;
+               } else if (addr->word != breakpoint_insn.word) {
+                       /*
+                        * The breakpoint instruction was removed by
+                        * another cpu right after we hit, no further
+                        * handling of this interrupt is appropriate
+                        */
+                       ret = 1;
                }
                goto no_kprobe;
        }
                return 1;
        }
 
-ss_probe:
        prepare_singlestep(p, regs, kcb);
        if (kcb->flags & SKIP_DELAYSLOT) {
                kcb->kprobe_status = KPROBE_HIT_SSDONE;