Moves the printfs & setting of stopped_ok out of the protected area.

Signed-off-by: Michael Ellerman <mich...@ellerman.id.au>
---
 arch/powerpc/xmon/xmon.c |   22 ++++------------------
 1 file changed, 4 insertions(+), 18 deletions(-)

diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
index 0fefe03..abc89a4 100644
--- a/arch/powerpc/xmon/xmon.c
+++ b/arch/powerpc/xmon/xmon.c
@@ -2994,15 +2994,11 @@ static void stop_spus(void)
                if (!spu_info[i].spu)
                        continue;
 
-               if (setjmp(bus_error_jmp) != 0) {
-                       catch_memory_errors = 0;
+               if (start_bus_error_jump() != 0) {
                        printf("*** Error stopping spu %.2d\n", i);
                        continue;
                }
 
-               catch_memory_errors = 1;
-               sync();
-
                spu = spu_info[i].spu;
 
                spu_info[i].saved_spu_runcntl_RW =
@@ -3014,16 +3010,13 @@ static void stop_spus(void)
                tmp &= ~MFC_STATE1_MASTER_RUN_CONTROL_MASK;
                spu_mfc_sr1_set(spu, tmp);
 
-               sync();
-               __delay(200);
+               end_bus_error_jump();
 
                spu_info[i].stopped_ok = 1;
 
                printf("Stopped spu %.2d (was %s)\n", i,
                                spu_info[i].saved_spu_runcntl_RW ?
                                "running" : "stopped");
-
-               catch_memory_errors = 0;
        }
 }
 
@@ -3042,26 +3035,19 @@ static void restart_spus(void)
                        continue;
                }
 
-               if (setjmp(bus_error_jmp) != 0) {
-                       catch_memory_errors = 0;
+               if (start_bus_error_jump() != 0) {
                        printf("*** Error restarting spu %.2d\n", i);
                        continue;
                }
 
-               catch_memory_errors = 1;
-               sync();
-
                spu = spu_info[i].spu;
                spu_mfc_sr1_set(spu, spu_info[i].saved_mfc_sr1_RW);
                out_be32(&spu->problem->spu_runcntl_RW,
                                spu_info[i].saved_spu_runcntl_RW);
 
-               sync();
-               __delay(200);
+               end_bus_error_jump();
 
                printf("Restarted spu %.2d\n", i);
-
-               catch_memory_errors = 0;
        }
 }
 
-- 
1.7.9.5

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to