int bitbang_execute_queue(void);
 
+/* The bitbang driver leaves the TCK 0 when in idle */
+
+
 void bitbang_end_state(enum tap_state state)
 {
        if (tap_move_map[state] != -1)
                state_count++;
                num_states--;
        }
+       bitbang_interface->write(0, tms, 0);
        
        end_state = cur_state;
 }
        bitbang_end_state(saved_end_state);
        if (cur_state != end_state)
                bitbang_state_move();
+       else
+               bitbang_interface->write(0, tms, 0);
 }
 
 void bitbang_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size)
        
        if (cur_state != end_state)
                bitbang_state_move();
+       else
+               bitbang_interface->write(0, tms, 0);
 }
 
 int bitbang_execute_queue(void)