jtag_add_reset() minidriver gaffe fixed.
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Tue, 26 Feb 2008 13:21:57 +0000 (13:21 +0000)
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Tue, 26 Feb 2008 13:21:57 +0000 (13:21 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@351 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/jtag/jtag.c

index a4fd7553be231c047761fedb5f557425f1baa0c4..7bb98e96e628ec5bf697d535ef156309228a3833 100644 (file)
@@ -884,6 +884,13 @@ int jtag_add_reset(int req_trst, int req_srst)
        jtag_trst = req_trst;
        jtag_srst = req_srst;
 
+       retval = interface_jtag_add_reset(req_trst, req_srst);
+       if (retval!=ERROR_OK)
+       {
+               jtag_error=retval;
+               return retval;
+       }
+
        if (jtag_srst)
        {
                jtag_call_event_callbacks(JTAG_SRST_ASSERTED);
@@ -903,32 +910,22 @@ int jtag_add_reset(int req_trst, int req_srst)
                
                return ERROR_OK;
        }
-       else
-       {
-               if (jtag_trst)
-               {
-                       /* we just asserted nTRST, so we're now in Test-Logic-Reset,
-                        * and inform possible listeners about this
-                        */
-                       cmd_queue_cur_state = TAP_TLR;
-                       jtag_call_event_callbacks(JTAG_TRST_ASSERTED);
-               }
-               else
-               {
-                       /* the nTRST line got deasserted, so we're still in Test-Logic-Reset,
-                        * but we might want to add a delay to give the TAP time to settle
-                        */
-                       if (jtag_ntrst_delay)
-                               jtag_add_sleep(jtag_ntrst_delay * 1000);
-               }
-       }
-       retval = interface_jtag_add_reset(req_trst, req_srst);
-       if (retval!=ERROR_OK)
-               jtag_error=retval;
        
-       if (trst_with_tms)
+       if (jtag_trst)
        {
+               /* we just asserted nTRST, so we're now in Test-Logic-Reset,
+                * and inform possible listeners about this
+                */
                jtag_add_statemove(TAP_TLR);
+               jtag_call_event_callbacks(JTAG_TRST_ASSERTED);
+       }
+       else
+       {
+               /* the nTRST line got deasserted, so we're still in Test-Logic-Reset,
+                * but we might want to add a delay to give the TAP time to settle
+                */
+               if (jtag_ntrst_delay)
+                       jtag_add_sleep(jtag_ntrst_delay * 1000);
        }
        
        return retval;