diff --git a/src/jtag/drivers/buspirate.c b/src/jtag/drivers/buspirate.c index e5f8fb630..85b76edfa 100644 --- a/src/jtag/drivers/buspirate.c +++ b/src/jtag/drivers/buspirate.c @@ -111,6 +111,7 @@ static void buspirate_jtag_get_adcs(int); static int buspirate_serial_setspeed(int fd, speed_t speed); static int buspirate_serial_write(int fd, char *buf, int size); static int buspirate_serial_read(int fd, char *buf, int size); +static void buspirate_serial_close(int fd); static void buspirate_print_buffer(char *buf, int size); static int buspirate_speed(int speed) @@ -247,6 +248,9 @@ static int buspirate_quit(void) buspirate_jtag_set_speed(buspirate_fd, SERIAL_NORMAL); buspirate_jtag_reset(buspirate_fd); + + buspirate_serial_close(buspirate_fd); + if (buspirate_port) { free(buspirate_port); buspirate_port = NULL; @@ -941,6 +945,11 @@ static int buspirate_serial_read(int fd, char *buf, int size) return len; } +static void buspirate_serial_close(int fd) +{ + close(fd); +} + #define LINE_SIZE 81 #define BYTES_PER_LINE 16 static void buspirate_print_buffer(char *buf, int size)