Currently, it doesn't invoke the callback but continues to unwind
Also while at it - simplify the code a bit
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
        while (1) {
                address = UNW_PC(&frame_info);
 
-               if (address && __kernel_text_address(address)) {
-                       if (consumer_fn(address, arg) == -1)
-                               break;
-               }
+               if (!address || !__kernel_text_address(address))
+                       break;
 
-               ret = arc_unwind(&frame_info);
+               if (consumer_fn(address, arg) == -1)
+                       break;
 
-               if (ret == 0) {
-                       frame_info.regs.r63 = frame_info.regs.r31;
-                       continue;
-               } else {
+               ret = arc_unwind(&frame_info);
+               if (ret)
                        break;
-               }
+
+               frame_info.regs.r63 = frame_info.regs.r31;
        }
 
        return address;         /* return the last address it saw */