Hans de Goede 7f102ebeb5 uhci: Don't crash on device disconnect
My recent uhci cleanup series has introduced a regression, where
qemu sometimes crashes on a device disconnect. The problem is that
the uhci code never checked for a device not / no longer existing, instead
it was relying on usb_handle_packet accepting a NULL device.

But since we now pass usb_handle_packet q->ep->dev, rather then just
a local dev variable, we crash as q->ep == NULL due to the device no longer
existing.

This patch fixes this. Note that this patch also improves over
the old behavior were we would:
1) create a queue for the device
2) create an async for the packet
3) have usb_handle_packet fail
4) destroy the async
5) wait for the queue to be idle for 32 frames
6) destroy the queue

Which was rather sub-optimal.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-01 15:17:58 +01:00
2012-10-22 13:26:42 -05:00
2012-11-01 15:17:58 +01:00
2012-10-01 08:04:22 -05:00
2012-10-30 19:18:53 +00:00
2012-08-28 20:38:39 +02:00
2012-08-20 11:05:08 -03:00
2012-10-24 10:26:22 +02:00
2012-08-28 20:38:39 +02:00
2012-10-05 15:10:21 +02:00
2012-10-29 19:41:55 +01:00
2012-10-31 21:37:21 +01:00
2012-10-23 13:54:57 +02:00
2012-09-07 09:02:44 +03:00
2012-10-05 16:07:49 -05:00
2011-11-07 10:57:36 -06:00
2009-09-12 07:36:22 +00:00
2009-05-13 20:54:26 +01:00
2011-12-02 10:50:57 +00:00
2011-08-27 15:42:35 +00:00
2012-08-04 15:51:23 +00:00
2012-10-23 22:39:33 +02:00
2011-09-16 08:26:31 -05:00
2012-01-13 10:37:00 +00:00
2009-03-10 21:43:35 +00:00
2010-11-01 00:54:06 +03:00
2012-05-14 07:27:24 +02:00
2012-10-23 08:58:25 -05:00
2012-10-23 08:58:25 -05:00
2012-10-17 18:35:00 +02:00
2012-03-30 08:14:11 -05:00
2012-10-23 08:58:25 -05:00
2012-10-23 08:58:25 -05:00
2012-01-10 09:36:43 +01:00
2012-03-07 13:03:51 +00:00
2012-10-05 08:02:30 -05:00
2012-09-15 15:34:27 +00:00
2012-04-01 20:30:23 +02:00
2012-10-23 08:58:25 -05:00
2012-10-23 08:58:25 -05:00
2012-10-23 08:58:25 -05:00
2009-09-12 07:36:22 +00:00
2012-10-23 08:58:25 -05:00
2012-10-23 08:58:25 -05:00
2012-09-22 17:59:12 +00:00
2012-03-14 22:20:27 +01:00
2012-10-23 08:58:25 -05:00
2012-10-24 10:26:20 +02:00
2012-10-24 10:26:20 +02:00
2011-12-02 10:50:57 +00:00
2011-08-27 15:42:35 +00:00
2012-10-23 08:58:25 -05:00
2011-08-27 15:42:35 +00:00
2011-10-16 13:13:05 +02:00
2012-03-19 15:17:21 +02:00
2012-10-29 18:25:22 +02:00
2012-10-29 18:25:22 +02:00
2012-10-23 08:58:25 -05:00
2012-10-23 08:58:25 -05:00
2011-06-14 03:08:57 +02:00
2011-12-09 11:25:22 +00:00
2011-12-02 10:50:57 +00:00
2012-05-10 08:33:34 -05:00
2012-10-23 22:39:33 +02:00
2012-10-05 16:07:49 -05:00
2012-10-23 08:58:25 -05:00
2011-08-27 15:42:35 +00:00
2012-02-15 09:39:21 -06:00
2012-09-19 15:26:31 +02:00
2012-02-17 08:33:32 -06:00
2012-02-17 08:33:32 -06:00
2012-07-10 18:27:33 +02:00
2012-08-08 13:51:12 +02:00
2011-02-09 10:33:54 +02:00
2012-01-13 10:55:56 -06:00
2012-01-10 18:23:58 +01:00
2012-04-07 14:00:45 +00:00
2012-01-10 18:23:58 +01:00
2009-11-17 08:49:39 -06:00
2010-07-01 14:27:13 -03:00
2010-05-19 12:45:54 -03:00
2012-04-07 14:00:45 +00:00
2012-08-16 13:41:16 -05:00
2012-08-16 13:41:16 -05:00
2011-03-13 14:44:22 +00:00
2011-12-15 09:20:50 -06:00
2011-12-06 10:07:04 +00:00
2012-08-13 14:17:53 -03:00
2009-11-17 08:49:38 -06:00
2010-05-19 12:45:54 -03:00
2010-10-01 10:12:43 -03:00
2012-08-16 13:41:15 -05:00
2012-08-16 13:41:15 -05:00
2010-05-19 12:45:54 -03:00
2012-04-24 09:50:31 -05:00
2010-09-18 05:53:14 +00:00
2011-12-11 17:50:43 -06:00
2011-10-01 09:31:08 +00:00
2011-08-27 15:42:35 +00:00
2012-10-29 11:45:54 +01:00
2010-03-14 22:04:50 +01:00
2011-10-31 21:52:17 +01:00
2012-10-06 18:47:04 +02:00
2012-11-01 13:10:09 +01:00
2009-10-01 16:12:16 -05:00
2012-09-28 17:51:47 +02:00
2012-09-28 17:51:47 +02:00
2012-09-05 11:44:53 -05:00
2012-09-10 13:52:28 -05:00
2011-08-27 15:42:35 +00:00
2012-10-23 08:58:25 -05:00
2012-10-03 13:48:45 +00:00

Read the documentation in qemu-doc.html or on http://wiki.qemu.org

- QEMU team
Description
QEMU With E2K User Support
Readme 459 MiB
Languages
C 83.1%
C++ 6.3%
Python 3.2%
Dylan 2.8%
Shell 1.6%
Other 2.8%