X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb/blobdiff_plain/2d1f08acdf0ad50acfb1ae258063a0b169588c35..920d34e08c728c4e56f80fad26bc8f81f044f674:/flash-hmcfgusb.c diff --git a/flash-hmcfgusb.c b/flash-hmcfgusb.c index 45d467f..a9ff876 100644 --- a/flash-hmcfgusb.c +++ b/flash-hmcfgusb.c @@ -93,11 +93,12 @@ int main(int argc, char **argv) if (!dev->bootloader) { fprintf(stderr, "\nHM-CFG-USB not in bootloader mode, entering bootloader.\n"); - hmcfgusb_enter_bootloader(dev); fprintf(stderr, "\nWaiting for device to reappear...\n"); do { if (dev) { + if (!dev->bootloader) + hmcfgusb_enter_bootloader(dev); hmcfgusb_close(dev); } sleep(1); @@ -134,7 +135,7 @@ int main(int argc, char **argv) printf("Waiting for ack...\n"); do { errno = 0; - pfd = hmcfgusb_poll(dev, 1); + pfd = hmcfgusb_poll(dev, 1000); if ((pfd < 0) && errno) { if (errno != ETIMEDOUT) { perror("\n\nhmcfgusb_poll"); @@ -165,6 +166,7 @@ int main(int argc, char **argv) firmware_free(fw); hmcfgusb_close(dev); + hmcfgusb_exit(); return EXIT_SUCCESS; }