From 7f2079731b2f4731242762dbc0bfe5ec525dda40 Mon Sep 17 00:00:00 2001 From: Joerg Wunsch Date: Sat, 22 Feb 2014 20:30:16 +0000 Subject: [PATCH] In usbdev_recv_frame(), fix a bug where a new recv request was issued even though all desired data had aldready been received. git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1277 81a1dc3b-b13d-400b-aceb-764788c761c2 --- ChangeLog | 6 ++++++ usb_libusb.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 97cf7356..daea7b05 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2014-02-22 Joerg Wunsch + + * usb_libusb.c (usbdev_recv_frame): Fix a bug where a new recv + request was issued even though all desired data had aldready + been received. + 2014-02-21 Joerg Wunsch * serial.h: Change the second parameter of the ser_open method diff --git a/usb_libusb.c b/usb_libusb.c index 8b512da7..b8e412a0 100644 --- a/usb_libusb.c +++ b/usb_libusb.c @@ -460,7 +460,7 @@ static int usbdev_recv_frame(union filedescriptor *fd, unsigned char *buf, size_ n += rv; nbytes -= rv; } - while (rv == fd->usb.max_xfer); + while (nbytes > 0 && rv == fd->usb.max_xfer); if (nbytes < 0) return -1;