diff options
-rw-r--r-- | arch/ia64/kernel/unwind.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/ia64/kernel/unwind.c b/arch/ia64/kernel/unwind.c index e3be21c7bd49..fe1426266b9b 100644 --- a/arch/ia64/kernel/unwind.c +++ b/arch/ia64/kernel/unwind.c | |||
@@ -60,6 +60,7 @@ | |||
60 | # define UNW_DEBUG_ON(n) unw_debug_level >= n | 60 | # define UNW_DEBUG_ON(n) unw_debug_level >= n |
61 | /* Do not code a printk level, not all debug lines end in newline */ | 61 | /* Do not code a printk level, not all debug lines end in newline */ |
62 | # define UNW_DPRINT(n, ...) if (UNW_DEBUG_ON(n)) printk(__VA_ARGS__) | 62 | # define UNW_DPRINT(n, ...) if (UNW_DEBUG_ON(n)) printk(__VA_ARGS__) |
63 | # undef inline | ||
63 | # define inline | 64 | # define inline |
64 | #else /* !UNW_DEBUG */ | 65 | #else /* !UNW_DEBUG */ |
65 | # define UNW_DEBUG_ON(n) 0 | 66 | # define UNW_DEBUG_ON(n) 0 |
@@ -1943,9 +1944,9 @@ EXPORT_SYMBOL(unw_unwind); | |||
1943 | int | 1944 | int |
1944 | unw_unwind_to_user (struct unw_frame_info *info) | 1945 | unw_unwind_to_user (struct unw_frame_info *info) |
1945 | { | 1946 | { |
1946 | unsigned long ip, sp, pr = 0; | 1947 | unsigned long ip, sp, pr = info->pr; |
1947 | 1948 | ||
1948 | while (unw_unwind(info) >= 0) { | 1949 | do { |
1949 | unw_get_sp(info, &sp); | 1950 | unw_get_sp(info, &sp); |
1950 | if ((long)((unsigned long)info->task + IA64_STK_OFFSET - sp) | 1951 | if ((long)((unsigned long)info->task + IA64_STK_OFFSET - sp) |
1951 | < IA64_PT_REGS_SIZE) { | 1952 | < IA64_PT_REGS_SIZE) { |
@@ -1963,7 +1964,7 @@ unw_unwind_to_user (struct unw_frame_info *info) | |||
1963 | __FUNCTION__, ip); | 1964 | __FUNCTION__, ip); |
1964 | return -1; | 1965 | return -1; |
1965 | } | 1966 | } |
1966 | } | 1967 | } while (unw_unwind(info) >= 0); |
1967 | unw_get_ip(info, &ip); | 1968 | unw_get_ip(info, &ip); |
1968 | UNW_DPRINT(0, "unwind.%s: failed to unwind to user-level (ip=0x%lx)\n", | 1969 | UNW_DPRINT(0, "unwind.%s: failed to unwind to user-level (ip=0x%lx)\n", |
1969 | __FUNCTION__, ip); | 1970 | __FUNCTION__, ip); |