summaryrefslogtreecommitdiff
path: root/hw/usb
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2012-04-19 13:07:54 +0200
committerGerd Hoffmann <kraxel@redhat.com>2012-04-26 12:21:15 +0200
commit0cc6a0f19e3de830eaa898ad31c0bc607470b8cb (patch)
tree2147ee2b9ae5b28f0a9ca541f21f333b80b26b11 /hw/usb
parente59a8cf1eb2196cdaded214ccd1b819c8faad238 (diff)
downloadqemu-0cc6a0f19e3de830eaa898ad31c0bc607470b8cb.tar.gz
usb-ehci: add missing usb_packet_init() call
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/usb')
-rw-r--r--hw/usb/core.c1
-rw-r--r--hw/usb/hcd-ehci.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/hw/usb/core.c b/hw/usb/core.c
index 9a14a53852..0e02da7601 100644
--- a/hw/usb/core.c
+++ b/hw/usb/core.c
@@ -501,6 +501,7 @@ void usb_packet_set_state(USBPacket *p, USBPacketState state)
void usb_packet_setup(USBPacket *p, int pid, USBEndpoint *ep)
{
assert(!usb_packet_is_inflight(p));
+ assert(p->iov.iov != NULL);
p->pid = pid;
p->ep = ep;
p->result = 0;
diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 10a5b15890..c6f21ac7b6 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -664,6 +664,7 @@ static EHCIQueue *ehci_alloc_queue(EHCIState *ehci, int async)
q = g_malloc0(sizeof(*q));
q->ehci = ehci;
+ usb_packet_init(&q->packet);
QTAILQ_INSERT_HEAD(head, q, next);
trace_usb_ehci_queue_action(q, "alloc");
return q;