- if (gdb_port == 0 && server_use_pipes == 0)
- {
- LOG_INFO("gdb port disabled");
- return ERROR_OK;
- }
- if (0 == gdb_port_next)
- gdb_port_next = gdb_port;
-
- bool use_pipes = server_use_pipes;
- static bool server_started_with_pipes = false;
- if (server_started_with_pipes)
- {
- LOG_WARNING("gdb service permits one target when using pipes");
- if (0 == gdb_port)
- return ERROR_OK;
-
- use_pipes = false;
- }
-
- int e = gdb_target_start(target, use_pipes ? 0 : gdb_port_next);
- if (ERROR_OK == e)
+ /* one gdb instance per smp list */
+ if ((target->smp) && (target->gdb_service)) return ERROR_OK;
+ int retval = gdb_target_start(target, gdb_port_next);
+ if (retval == ERROR_OK)