diff options
-rw-r--r-- | arch/mips/kernel/kgdb.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/arch/mips/kernel/kgdb.c b/arch/mips/kernel/kgdb.c index 5e76c2daa7f4..1f4e2fa64140 100644 --- a/arch/mips/kernel/kgdb.c +++ b/arch/mips/kernel/kgdb.c | |||
@@ -329,7 +329,7 @@ static struct notifier_block kgdb_notifier = { | |||
329 | }; | 329 | }; |
330 | 330 | ||
331 | /* | 331 | /* |
332 | * Handle the 's' and 'c' commands | 332 | * Handle the 'c' command |
333 | */ | 333 | */ |
334 | int kgdb_arch_handle_exception(int vector, int signo, int err_code, | 334 | int kgdb_arch_handle_exception(int vector, int signo, int err_code, |
335 | char *remcom_in_buffer, char *remcom_out_buffer, | 335 | char *remcom_in_buffer, char *remcom_out_buffer, |
@@ -337,20 +337,14 @@ int kgdb_arch_handle_exception(int vector, int signo, int err_code, | |||
337 | { | 337 | { |
338 | char *ptr; | 338 | char *ptr; |
339 | unsigned long address; | 339 | unsigned long address; |
340 | int cpu = smp_processor_id(); | ||
341 | 340 | ||
342 | switch (remcom_in_buffer[0]) { | 341 | switch (remcom_in_buffer[0]) { |
343 | case 's': | ||
344 | case 'c': | 342 | case 'c': |
345 | /* handle the optional parameter */ | 343 | /* handle the optional parameter */ |
346 | ptr = &remcom_in_buffer[1]; | 344 | ptr = &remcom_in_buffer[1]; |
347 | if (kgdb_hex2long(&ptr, &address)) | 345 | if (kgdb_hex2long(&ptr, &address)) |
348 | regs->cp0_epc = address; | 346 | regs->cp0_epc = address; |
349 | 347 | ||
350 | atomic_set(&kgdb_cpu_doing_single_step, -1); | ||
351 | if (remcom_in_buffer[0] == 's') | ||
352 | atomic_set(&kgdb_cpu_doing_single_step, cpu); | ||
353 | |||
354 | return 0; | 348 | return 0; |
355 | } | 349 | } |
356 | 350 | ||