acrn-hypervisor/devicemodel/hw/platform
Xiaoguang Wu b159d66fb3 DM USB: refine the polling thread for libusb events
The thread function usb_dev_sys_thread is the source of libusb events,
which is also the basis of USB/xHCI emulation. During S3 process,
function libusb_handle_events_timeout may fail and return -1, which
could result of exit of the thread (BTW, this failure is resulted from
USB native reseting behavior during S3). Under this situation, the emulation
of USB/xHCI could never continue.

This patch fix this issue by continuing to call libusb_handle_events_timeout
even it reture -1. The return value will be finally ok after S3 process is
completed.

This patch will continue poll after failure and hence fix this issue.

Tracked-On: #1893
Signed-off-by: Xiaoguang Wu <xiaoguang.wu@intel.com>
Reviewed-by: Liang Yang <liang3.yang@intel.com>
Acked-by: Yu Wang <yu1.wang@intel.com>
2018-12-04 19:59:00 +08:00
..
acpi DM: build TPM2 ACPI table when TPM device enabled 2018-11-29 09:19:16 +08:00
rpmb dm: rpmb: Support RPMB mode config from launch.sh 2018-10-24 18:15:14 +08:00
tpm DM: Add support for virtual TPM enabling 2018-11-29 09:19:16 +08:00
atkbdc.c DM: wrap ASSERT/DEASSERT IRQ line with Set/Clear IRQ line 2018-10-29 09:26:23 +08:00
cmos_io.c dm: cmos: move cmos storage out of vmctx 2018-08-30 12:17:23 +08:00
debugexit.c dm: add io port 0xF4 writing to force DM exit 2018-10-17 14:32:33 +08:00
ioapic.c DM: cleanup for header inclusions 2018-06-07 14:35:30 +08:00
ioc_cbc.c IOC mediator: fix wakeup reason issue when UOS resuming 2018-11-06 16:18:35 +08:00
ioc.c IOC mediator: Add VehicalSteeringWheelAngle signal to the whitelist 2018-11-23 14:59:07 +08:00
pit.c DM: wrap ASSERT/DEASSERT IRQ line with Set/Clear IRQ line 2018-10-29 09:26:23 +08:00
ps2kbd.c DM: cleanup for header inclusions 2018-06-07 14:35:30 +08:00
ps2mouse.c DM: add deinit function for ps2kbd and ps2mouse 2018-05-15 17:25:24 +08:00
rtc.c DM: wrap ASSERT/DEASSERT IRQ line with Set/Clear IRQ line 2018-10-29 09:26:23 +08:00
usb_mouse.c DM USB: change TRB ring processing logic for ISOC transfer 2018-07-20 10:42:34 +08:00
usb_pmapper.c DM USB: refine the polling thread for libusb events 2018-12-04 19:59:00 +08:00