diff --git a/ChangeLog b/ChangeLog index 5d9b02e9..819dfb95 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-08-31 Joerg Wunsch + + Tentative fix for bug #16156: Problem with Si-Prog + * serbb_posix.c: Disable reset before closing. + * serbb_win32.c: (Ditto.) + 2006-08-30 Joerg Wunsch Rewrite the serbb code so the pin numbering matches the diff --git a/serbb_posix.c b/serbb_posix.c index 3c025d10..87eb2141 100644 --- a/serbb_posix.c +++ b/serbb_posix.c @@ -241,7 +241,12 @@ static int serbb_open(PROGRAMMER *pgm, char *port) static void serbb_close(PROGRAMMER *pgm) { - tcsetattr(pgm->fd, TCSANOW, &oldmode); + if (pgm->fd != -1) + { + tcsetattr(pgm->fd, TCSANOW, &oldmode); + pgm->setpin(pgm, pgm->pinno[PIN_AVR_RESET], 1); + close(pgm->fd); + } return; } diff --git a/serbb_win32.c b/serbb_win32.c index c2bf11c5..6bedb63a 100644 --- a/serbb_win32.c +++ b/serbb_win32.c @@ -334,7 +334,10 @@ static void serbb_close(PROGRAMMER *pgm) { HANDLE hComPort=(HANDLE)pgm->fd; if (hComPort != INVALID_HANDLE_VALUE) + { + pgm->setpin(pgm, pgm->pinno[PIN_AVR_RESET], 1); CloseHandle (hComPort); + } if (verbose > 2) fprintf(stderr, "%s: ser_close(): closed comm port handle 0x%x\n",