|
|
5544c1 |
From e84037892a04dac64104b43d0a6342aee4c4e6f4 Mon Sep 17 00:00:00 2001
|
|
Hans de Goede |
c8dfc6 |
From: Gerd Hoffmann <kraxel@redhat.com>
|
|
Hans de Goede |
c8dfc6 |
Date: Thu, 6 Sep 2012 12:03:41 +0200
|
|
|
5544c1 |
Subject: [PATCH] usb-host: allow emulated (non-async) control requests
|
|
|
5544c1 |
without USBPacket
|
|
Hans de Goede |
c8dfc6 |
|
|
Hans de Goede |
c8dfc6 |
xhci needs this for USB_REQ_SET_ADDRESS due to the way
|
|
Hans de Goede |
c8dfc6 |
usb addressing is handled by the xhci hardware.
|
|
Hans de Goede |
c8dfc6 |
|
|
Hans de Goede |
c8dfc6 |
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
|
5544c1 |
(cherry picked from commit 63587e31353b6652cadfcfb869f5692a2b69daeb)
|
|
|
5544c1 |
|
|
|
5544c1 |
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
|
|
Hans de Goede |
c8dfc6 |
---
|
|
Hans de Goede |
c8dfc6 |
hw/usb/host-linux.c | 2 +-
|
|
Hans de Goede |
c8dfc6 |
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
Hans de Goede |
c8dfc6 |
|
|
Hans de Goede |
c8dfc6 |
diff --git a/hw/usb/host-linux.c b/hw/usb/host-linux.c
|
|
Hans de Goede |
c8dfc6 |
index 8df9207..44f1a64 100644
|
|
Hans de Goede |
c8dfc6 |
--- a/hw/usb/host-linux.c
|
|
Hans de Goede |
c8dfc6 |
+++ b/hw/usb/host-linux.c
|
|
Hans de Goede |
c8dfc6 |
@@ -1045,7 +1045,6 @@ static int usb_host_handle_control(USBDevice *dev, USBPacket *p,
|
|
Hans de Goede |
c8dfc6 |
|
|
Hans de Goede |
c8dfc6 |
/* Note request is (bRequestType << 8) | bRequest */
|
|
Hans de Goede |
c8dfc6 |
trace_usb_host_req_control(s->bus_num, s->addr, p, request, value, index);
|
|
Hans de Goede |
c8dfc6 |
- assert(p->result == 0);
|
|
Hans de Goede |
c8dfc6 |
|
|
Hans de Goede |
c8dfc6 |
switch (request) {
|
|
Hans de Goede |
c8dfc6 |
case DeviceOutRequest | USB_REQ_SET_ADDRESS:
|
|
Hans de Goede |
c8dfc6 |
@@ -1074,6 +1073,7 @@ static int usb_host_handle_control(USBDevice *dev, USBPacket *p,
|
|
Hans de Goede |
c8dfc6 |
}
|
|
Hans de Goede |
c8dfc6 |
|
|
Hans de Goede |
c8dfc6 |
/* The rest are asynchronous */
|
|
Hans de Goede |
c8dfc6 |
+ assert(p && p->result == 0);
|
|
Hans de Goede |
c8dfc6 |
|
|
Hans de Goede |
c8dfc6 |
if (length > sizeof(dev->data_buf)) {
|
|
Hans de Goede |
c8dfc6 |
fprintf(stderr, "husb: ctrl buffer too small (%d > %zu)\n",
|
|
Hans de Goede |
c8dfc6 |
--
|
|
|
5544c1 |
1.7.12.1
|
|
Hans de Goede |
c8dfc6 |
|