aboutsummaryrefslogtreecommitdiff
path: root/hw/usb-musb.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2012-01-12 12:51:48 +0100
committerGerd Hoffmann <kraxel@redhat.com>2012-02-10 11:31:57 +0100
commitf53c398aa603cea135ee58fd15249aeff7b9c7ea (patch)
treeb36b1a2b09a720a3d9e20a838914f3549cc90b16 /hw/usb-musb.c
parent1977f93dacf60466cd23b562ae498446b77d3b48 (diff)
downloadqemu-f53c398aa603cea135ee58fd15249aeff7b9c7ea.zip
qemu-f53c398aa603cea135ee58fd15249aeff7b9c7ea.tar.gz
qemu-f53c398aa603cea135ee58fd15249aeff7b9c7ea.tar.bz2
usb: USBPacket: add status, rename owner -> ep
Add enum to track the status of USBPackets, use that instead of the owner pointer to figure whenever a usb packet is currently in flight or not. Add some more packet status sanity checks. Also rename the USBEndpoint pointer from "owner" to "ep". Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/usb-musb.c')
-rw-r--r--hw/usb-musb.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/hw/usb-musb.c b/hw/usb-musb.c
index ecac631..f4e52f1 100644
--- a/hw/usb-musb.c
+++ b/hw/usb-musb.c
@@ -811,8 +811,8 @@ static void musb_async_cancel_device(MUSBState *s, USBDevice *dev)
for (ep = 0; ep < 16; ep++) {
for (dir = 0; dir < 2; dir++) {
- if (s->ep[ep].packey[dir].p.owner == NULL ||
- s->ep[ep].packey[dir].p.owner->dev != dev) {
+ if (!usb_packet_is_inflight(&s->ep[ep].packey[dir].p) ||
+ s->ep[ep].packey[dir].p.ep->dev != dev) {
continue;
}
usb_cancel_packet(&s->ep[ep].packey[dir].p);