render / rpms / qemu

Forked from rpms/qemu 5 months ago
Clone

Blame 0125-usb-redir-Return-USB_RET_NAK-when-we-ve-no-data-for-.patch

Hans de Goede 1b1995
From ddb24b5063e3b4c90295bd4ddaab3bfc428ae79b Mon Sep 17 00:00:00 2001
Hans de Goede 1b1995
From: Hans de Goede <hdegoede@redhat.com>
Hans de Goede 1b1995
Date: Sun, 26 Feb 2012 15:51:50 +0100
Hans de Goede 1b1995
Subject: [PATCH 125/140] usb-redir: Return USB_RET_NAK when we've no data for
Hans de Goede 1b1995
 an interrupt endpoint
Hans de Goede 1b1995
Hans de Goede 1b1995
We should return USB_RET_NAK, rather then a 0 sized packet, when we've no data
Hans de Goede 1b1995
for an interrupt IN endpoint.
Hans de Goede 1b1995
Hans de Goede 1b1995
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Hans de Goede 1b1995
---
Hans de Goede 1b1995
 usb-redir.c |    5 ++++-
Hans de Goede 1b1995
 1 file changed, 4 insertions(+), 1 deletion(-)
Hans de Goede 1b1995
Hans de Goede 1b1995
diff --git a/usb-redir.c b/usb-redir.c
Hans de Goede 1b1995
index c76e55d..629c87d 100644
Hans de Goede 1b1995
--- a/usb-redir.c
Hans de Goede 1b1995
+++ b/usb-redir.c
Hans de Goede 1b1995
@@ -558,7 +558,10 @@ static int usbredir_handle_interrupt_data(USBRedirDevice *dev,
Hans de Goede 1b1995
             /* Check interrupt_error for stream errors */
Hans de Goede 1b1995
             status = dev->endpoint[EP2I(ep)].interrupt_error;
Hans de Goede 1b1995
             dev->endpoint[EP2I(ep)].interrupt_error = 0;
Hans de Goede 1b1995
-            return usbredir_handle_status(dev, status, 0);
Hans de Goede 1b1995
+            if (status) {
Hans de Goede 1b1995
+                return usbredir_handle_status(dev, status, 0);
Hans de Goede 1b1995
+            }
Hans de Goede 1b1995
+            return USB_RET_NAK;
Hans de Goede 1b1995
         }
Hans de Goede 1b1995
         DPRINTF("interrupt-token-in ep %02X status %d len %d\n", ep,
Hans de Goede 1b1995
                 intp->status, intp->len);
Hans de Goede 1b1995
-- 
Hans de Goede 1b1995
1.7.9.3
Hans de Goede 1b1995