From: Hans de Goede <hdego...@redhat.com> We should return USB_RET_NAK, rather then a 0 sized packet, when we've no data for an interrupt IN endpoint.
Signed-off-by: Hans de Goede <hdego...@redhat.com> Signed-off-by: Gerd Hoffmann <kra...@redhat.com> --- usb-redir.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/usb-redir.c b/usb-redir.c index d905463..755492f 100644 --- a/usb-redir.c +++ b/usb-redir.c @@ -548,7 +548,10 @@ static int usbredir_handle_interrupt_data(USBRedirDevice *dev, /* Check interrupt_error for stream errors */ status = dev->endpoint[EP2I(ep)].interrupt_error; dev->endpoint[EP2I(ep)].interrupt_error = 0; - return usbredir_handle_status(dev, status, 0); + if (status) { + return usbredir_handle_status(dev, status, 0); + } + return USB_RET_NAK; } DPRINTF("interrupt-token-in ep %02X status %d len %d\n", ep, intp->status, intp->len); -- 1.7.1