diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2012-01-12 12:51:48 +0100 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2012-02-10 11:31:57 +0100 |
commit | f53c398aa603cea135ee58fd15249aeff7b9c7ea (patch) | |
tree | b36b1a2b09a720a3d9e20a838914f3549cc90b16 /hw/usb-musb.c | |
parent | 1977f93dacf60466cd23b562ae498446b77d3b48 (diff) | |
download | qemu-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.c | 4 |
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); |