qemu/0144-usb-redir-Get-rid-of-async-struct-get-member.patch

74 lines
2.5 KiB
Diff
Raw Normal View History

2012-10-28 18:05:07 +00:00
From a9fd3192a956ed1bce0f945f6b35bf9b162b30c3 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Mon, 27 Aug 2012 16:33:08 +0200
2012-10-28 18:05:07 +00:00
Subject: [PATCH] usb-redir: Get rid of async-struct get member
This is a preparation patch for completely getting rid of the async-packet
struct in usb-redir, instead relying on the (new) per ep queues in the
qemu usb core.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-10-28 18:05:07 +00:00
(cherry picked from commit cb897117cdedd488f19985c8ec5ea05971103a27)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
---
hw/usb/redirect.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
2012-10-28 18:05:07 +00:00
index 5cc3334..2cae8c5 100644
--- a/hw/usb/redirect.c
+++ b/hw/usb/redirect.c
@@ -1,7 +1,7 @@
/*
* USB redirector usb-guest
*
- * Copyright (c) 2011 Red Hat, Inc.
+ * Copyright (c) 2011-2012 Red Hat, Inc.
*
* Red Hat Authors:
* Hans de Goede <hdegoede@redhat.com>
@@ -99,7 +99,6 @@ struct AsyncURB {
USBRedirDevice *dev;
USBPacket *packet;
uint32_t packet_id;
- int get;
union {
struct usb_redir_control_packet_header control_packet;
struct usb_redir_bulk_packet_header bulk_packet;
2012-10-28 18:05:07 +00:00
@@ -672,7 +671,6 @@ static int usbredir_get_config(USBRedirDevice *dev, USBPacket *p)
DPRINTF("get config id %u\n", aurb->packet_id);
- aurb->get = 1;
usbredirparser_send_get_configuration(dev->parser, aurb->packet_id);
usbredirparser_do_write(dev->parser);
return USB_RET_ASYNC;
2012-10-28 18:05:07 +00:00
@@ -721,7 +719,6 @@ static int usbredir_get_interface(USBRedirDevice *dev, USBPacket *p,
DPRINTF("get interface %d id %u\n", interface, aurb->packet_id);
get_alt.interface = interface;
- aurb->get = 1;
usbredirparser_send_get_alt_setting(dev->parser, aurb->packet_id,
&get_alt);
usbredirparser_do_write(dev->parser);
2012-10-28 18:05:07 +00:00
@@ -1226,7 +1223,7 @@ static void usbredir_configuration_status(void *priv, uint32_t id,
return;
}
if (aurb->packet) {
- if (aurb->get) {
+ if (dev->dev.setup_buf[0] & USB_DIR_IN) {
dev->dev.data_buf[0] = config_status->configuration;
len = 1;
}
2012-10-28 18:05:07 +00:00
@@ -1254,7 +1251,7 @@ static void usbredir_alt_setting_status(void *priv, uint32_t id,
return;
}
if (aurb->packet) {
- if (aurb->get) {
+ if (dev->dev.setup_buf[0] & USB_DIR_IN) {
dev->dev.data_buf[0] = alt_setting_status->alt;
len = 1;
}