[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 25/26] usb-redir: Add debugging to bufpq save / rest
From: |
Hans de Goede |
Subject: |
[Qemu-devel] [PATCH 25/26] usb-redir: Add debugging to bufpq save / restore |
Date: |
Fri, 14 Dec 2012 14:35:46 +0100 |
Signed-off-by: Hans de Goede <address@hidden>
---
hw/usb/redirect.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
index b3a96f7..bc36210 100644
--- a/hw/usb/redirect.c
+++ b/hw/usb/redirect.c
@@ -60,6 +60,7 @@ struct buf_packet {
};
struct endp_data {
+ USBRedirDevice *dev;
uint8_t type;
uint8_t interval;
uint8_t interface; /* bInterfaceNumber this ep belongs to */
@@ -1093,6 +1094,7 @@ static void usbredir_init_endpoints(USBRedirDevice *dev)
usb_ep_init(&dev->dev);
memset(dev->endpoint, 0, sizeof(dev->endpoint));
for (i = 0; i < MAX_ENDPOINTS; i++) {
+ dev->endpoint[i].dev = dev;
QTAILQ_INIT(&dev->endpoint[i].bufpq);
}
}
@@ -1805,22 +1807,26 @@ static const VMStateInfo usbredir_parser_vmstate_info =
{
static void usbredir_put_bufpq(QEMUFile *f, void *priv, size_t unused)
{
struct endp_data *endp = priv;
+ USBRedirDevice *dev = endp->dev;
struct buf_packet *bufp;
- int remain = endp->bufpq_size;
+ int i = 0;
qemu_put_be32(f, endp->bufpq_size);
QTAILQ_FOREACH(bufp, &endp->bufpq, next) {
+ DPRINTF("put_bufpq %d/%d len %d status %d\n", i + 1, endp->bufpq_size,
+ bufp->len, bufp->status);
qemu_put_be32(f, bufp->len);
qemu_put_be32(f, bufp->status);
qemu_put_buffer(f, bufp->data, bufp->len);
- remain--;
+ i++;
}
- assert(remain == 0);
+ assert(i == endp->bufpq_size);
}
static int usbredir_get_bufpq(QEMUFile *f, void *priv, size_t unused)
{
struct endp_data *endp = priv;
+ USBRedirDevice *dev = endp->dev;
struct buf_packet *bufp;
int i;
@@ -1832,6 +1838,8 @@ static int usbredir_get_bufpq(QEMUFile *f, void *priv,
size_t unused)
bufp->data = qemu_oom_check(malloc(bufp->len)); /* regular malloc! */
qemu_get_buffer(f, bufp->data, bufp->len);
QTAILQ_INSERT_TAIL(&endp->bufpq, bufp, next);
+ DPRINTF("get_bufpq %d/%d len %d status %d\n", i + 1, endp->bufpq_size,
+ bufp->len, bufp->status);
}
return 0;
}
--
1.8.0.1
- [Qemu-devel] [PATCH 17/26] hid: Change idle handling to use a timer, (continued)
- [Qemu-devel] [PATCH 17/26] hid: Change idle handling to use a timer, Hans de Goede, 2012/12/14
- [Qemu-devel] [PATCH 15/26] uhci: Limit amount of frames processed in one go, Hans de Goede, 2012/12/14
- [Qemu-devel] [PATCH 20/26] usbredir: Add an usbredir_stop_ep helper function, Hans de Goede, 2012/12/14
- [Qemu-devel] [PATCH 19/26] usb: Add an usb_device_ep_stopped USBDevice method, Hans de Goede, 2012/12/14
- [Qemu-devel] [PATCH 16/26] uhci: Maximize how many frames we catch up when behind, Hans de Goede, 2012/12/14
- [Qemu-devel] [PATCH 21/26] usbredir: Add USBEP2I and I2USBEP helper macros, Hans de Goede, 2012/12/14
- [Qemu-devel] [PATCH 22/26] usbredir: Add ep_stopped USBDevice method, Hans de Goede, 2012/12/14
- [Qemu-devel] [PATCH 23/26] usbredir: Verify we have 32 bits bulk length cap when redirecting to xhci, Hans de Goede, 2012/12/14
- [Qemu-devel] [PATCH 26/26] usbredir: Add support for buffered bulk input, Hans de Goede, 2012/12/14
- [Qemu-devel] [PATCH 24/26] usbredir: Add usbredir_init_endpoints() helper, Hans de Goede, 2012/12/14
- [Qemu-devel] [PATCH 25/26] usb-redir: Add debugging to bufpq save / restore,
Hans de Goede <=
- [Qemu-devel] [PATCH 18/26] usb: Fix usb_ep_find_packet_by_id, Hans de Goede, 2012/12/14