fix flash bank auto_probe() fail with multiple targets
authorSergey A. Borshch <sb-sf@users.sourceforge.net>
Fri, 22 Nov 2013 15:27:40 +0000 (17:27 +0200)
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>
Tue, 17 Dec 2013 23:04:01 +0000 (23:04 +0000)
commit5175f8be3318d13931a319885cf6e5560329e324
tree740cefb44dc81f789a29c078fc1639c9c7cf70b7
parent255301fb507519b5cd022cfdb465d4963d186c5a
fix flash bank auto_probe() fail with multiple targets

  get_flash_bank_by_addr() iterates through all flash banks
trying to auto_probe() every bank, even if bank can belongs to
target other than requested, and this other target can be
in non-halted state, which leads to error message and
operation abort.
  Same situation in gdb_new_connection() and gdb_memory_map():
get_flash_bank_by_num() tries to auto_probe() requested bank,
so first get bank by get_flash_bank_by_num_noprobe(), check
if it belongs to current connection's target and skip
get_flash_bank_by_num() (actually autoprobing) if not.

Change-Id: I48b3f93dddcd9283394f14ad2de3248397c75ab3
Signed-off-by: Sergey A. Borshch <sb-sf@users.sourceforge.net>
Reviewed-on: http://openocd.zylin.com/1813
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
src/flash/nor/core.c
src/server/gdb_server.c