]> git.proxmox.com Git - qemu.git/commitdiff
usb-linux: return USB_RET_STALL on -EPIPE
authorPaul Bolle <pebolle@tiscali.nl>
Tue, 13 Oct 2009 11:40:08 +0000 (13:40 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Tue, 27 Oct 2009 17:28:35 +0000 (12:28 -0500)
0) This is an attempt to get an issue in usb-linux.c, for which a patch
was posted about a year ago, finally fixed.

1) Mark Burkley submitted a "EHCI emulation module" for review in in
October 2008 (see:
http://lists.gnu.org/archive/html/qemu-devel/2008-10/msg01326.html). No
EHCI emulation module was ever committed to qemu.

2) Part of that (large) patch was a fix for a separate issue in
usb-linux.c. Max Krasnyansky has ACK'ed that fix (see:
http://lists.gnu.org/archive/html/qemu-devel/2008-11/msg00032.html).

3) I already asked whether this fix was ready to be committed in last
April (see:
http://lists.gnu.org/archive/html/qemu-devel/2009-04/msg01763.html)

4) Maybe submitting this fix as a separate patch (with a really long
commit message but without a Signed-off-by) and cc-ing everbody involved
will help if actually getting this issue fixed.

Paul Bolle

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
usb-linux.c

index 9e5d9c40efa60d39ae1913a45eee19d5f94917d8..d7121346f389d441f05ab9b15cd33f7d71f7da14 100644 (file)
@@ -275,7 +275,9 @@ static void async_complete(void *opaque)
 
             case -EPIPE:
                 set_halt(s, p->devep);
-                /* fall through */
+               p->len = USB_RET_STALL;
+               break;
+
             default:
                 p->len = USB_RET_NAK;
                 break;