]> git.gag.com Git - fw/openocd/blobdiff - src/flash/nor/core.c
fix flash bank auto_probe() fail with multiple targets
[fw/openocd] / src / flash / nor / core.c
index cc2ecac08538a7c413826c14af1473224561a4ea..4410d5c6a20df9dd0036953cb0bb0ab3457e0d71 100644 (file)
@@ -232,6 +232,9 @@ int get_flash_bank_by_addr(struct target *target,
 
        /* cycle through bank list */
        for (c = flash_banks; c; c = c->next) {
+               if (c->target != target)
+                       continue;
+
                int retval;
                retval = c->driver->auto_probe(c);
 
@@ -240,7 +243,7 @@ int get_flash_bank_by_addr(struct target *target,
                        return retval;
                }
                /* check whether address belongs to this flash bank */
-               if ((addr >= c->base) && (addr <= c->base + (c->size - 1)) && target == c->target) {
+               if ((addr >= c->base) && (addr <= c->base + (c->size - 1))) {
                        *result_bank = c;
                        return ERROR_OK;
                }