Blame 0132-usb-ehci-Any-packet-completion-except-for-NAK-should.patch

Hans de Goede 1b1995
From 73a9969c47459ee208d6247999823f2a36ee51fe Mon Sep 17 00:00:00 2001
Hans de Goede 1b1995
From: Hans de Goede <hdegoede@redhat.com>
Hans de Goede 1b1995
Date: Thu, 1 Mar 2012 16:34:56 +0100
Hans de Goede 1b1995
Subject: [PATCH 132/140] usb-ehci: Any packet completion except for NAK
Hans de Goede 1b1995
 should set the interrupt
Hans de Goede 1b1995
Hans de Goede 1b1995
As clearly stated in the 2.3.2 of the EHCI spec, any time USBERRINT get
Hans de Goede 1b1995
sets then if the td has its IOC bit set USBINT should be set as well.
Hans de Goede 1b1995
Hans de Goede 1b1995
This means that for any status except for USB_RET_NAK we should set
Hans de Goede 1b1995
USBINT if the IOC bit is set.
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
 hw/usb-ehci.c |    2 +-
Hans de Goede 1b1995
 1 file changed, 1 insertion(+), 1 deletion(-)
Hans de Goede 1b1995
Hans de Goede 1b1995
diff --git a/hw/usb-ehci.c b/hw/usb-ehci.c
Hans de Goede 1b1995
index 11eded7..bc5f591 100644
Hans de Goede 1b1995
--- a/hw/usb-ehci.c
Hans de Goede 1b1995
+++ b/hw/usb-ehci.c
Hans de Goede 1b1995
@@ -1338,7 +1338,7 @@ err:
Hans de Goede 1b1995
     q->qh.token ^= QTD_TOKEN_DTOGGLE;
Hans de Goede 1b1995
     q->qh.token &= ~QTD_TOKEN_ACTIVE;
Hans de Goede 1b1995
 
Hans de Goede 1b1995
-    if ((q->usb_status >= 0) && (q->qh.token & QTD_TOKEN_IOC)) {
Hans de Goede 1b1995
+    if ((q->usb_status != USB_RET_NAK) && (q->qh.token & QTD_TOKEN_IOC)) {
Hans de Goede 1b1995
         ehci_record_interrupt(q->ehci, USBSTS_INT);
Hans de Goede 1b1995
     }
Hans de Goede 1b1995
 }
Hans de Goede 1b1995
-- 
Hans de Goede 1b1995
1.7.9.3
Hans de Goede 1b1995