X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb/blobdiff_plain/d5cdafda04202a4a6e2793ab250d1fecf7ad9bcf..9dcbf6057d2b215085ca9a2bd20b2f19a6db139d:/flash-ota.c?ds=sidebyside diff --git a/flash-ota.c b/flash-ota.c index 2b6e75e..9126768 100644 --- a/flash-ota.c +++ b/flash-ota.c @@ -227,14 +227,14 @@ int send_hm_message(struct ota_dev *dev, struct recv_data *rdata, uint8_t *msg) } if (msg[CTL] & 0x20) { - int cnt = 10; + int cnt = 3; int pfd; do { errno = 0; pfd = culfw_poll(dev->culfw, 1); if ((pfd < 0) && errno) { if (errno != ETIMEDOUT) { - perror("\n\nhmcfgusb_poll"); + perror("\n\nculfw_poll"); exit(EXIT_FAILURE); } } @@ -242,6 +242,11 @@ int send_hm_message(struct ota_dev *dev, struct recv_data *rdata, uint8_t *msg) break; } } while(cnt--); + + if (cnt == -1) { + fprintf(stderr, "\nMissing ACK!\n"); + return 0; + } } } break; @@ -654,7 +659,7 @@ int main(int argc, char **argv) } if ((pfd < 0) && errno) { if (errno != ETIMEDOUT) { - perror("\n\nhmcfgusb_poll"); + perror("\n\npoll"); exit(EXIT_FAILURE); } }