jtag: flush queue after reset for drivers using old reset model
authorAntonio Borneo <borneo.antonio@gmail.com>
Mon, 3 Feb 2020 09:02:54 +0000 (10:02 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sun, 12 Apr 2020 21:05:46 +0000 (22:05 +0100)
Not all the jtag drivers have been migrated to the new reset model
and for those only we need to flush the jtag queue to make the
reset working with command 'adapter [de]assert ...'.

Add a queue flush and a FIXME comment to remove both when all the
drivers would be migrated.

Change-Id: Ib6667f987b1be2bce492841040302e742dd1cad1
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/5430
Tested-by: jenkins
src/jtag/core.c

index 0015233657bed89396c6dbfa5ad9e7fe95280e77..2d0c84205e934866d347c83f68ad8408422e0f46 100644 (file)
@@ -2020,6 +2020,11 @@ int adapter_resets(int trst, int srst)
 
                /* adapters without trst signal will eventually use tlr sequence */
                jtag_add_reset(trst, srst);
+               /*
+                * The jtag queue is still used for reset by some adapter. Flush it!
+                * FIXME: To be removed when all adapter drivers will be updated!
+                */
+               jtag_execute_queue();
                return ERROR_OK;
        } else if (transport_is_swd() || transport_is_hla() ||
                           transport_is_dapdirect_swd() || transport_is_dapdirect_jtag()) {