aboutsummaryrefslogtreecommitdiff
path: root/usb-linux.c
diff options
context:
space:
mode:
authorPaul Bolle <pebolle@tiscali.nl>2009-10-13 13:40:08 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2009-10-27 12:28:35 -0500
commitdcc7e25fd18e453168c8f2e59b50a335d0a9346a (patch)
treef86a22c5eb5c6c82d49e3986f2848f79488b7c18 /usb-linux.c
parent581d45f02916687e1afc679ad3e44a10e85c36a1 (diff)
usb-linux: return USB_RET_STALL on -EPIPE
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>
Diffstat (limited to 'usb-linux.c')
-rw-r--r--usb-linux.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/usb-linux.c b/usb-linux.c
index 9e5d9c40ef..d7121346f3 100644
--- a/usb-linux.c
+++ b/usb-linux.c
@@ -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;